เมื่อสัปดาห์ที่แล้ว ข้าพเจ้าได้เขียนโค้ดด้วย jQuery เพื่อให้มันไปดึงจำนวน like ของเว็บ www.borkboon.com/jackiechancharity มาจาก facebook ออกมานำไปคำณวนเป็นจำนวนเงินที่ต้องร่วมบริจาค 1 like ต่อ 10 บาท
โค้ดรันได้ดีไม่มีปัญหาอะไร ในไฟฟ้อกและโครม ไม่ได้ทดสอบใน IE เพราะมั่นใจใน jQuery เสียเหลือเกิน โค้ดประมาณนี้ครับ
jQuery.ajax({ url: 'https://graph.facebook.com/borkboon', data: {}, success: function(response){ /* ไม่ต้องสนใจโค้ดส่วนนี้ ไม่ใช่ส่วนที่อยากจะให้ดู var remainninglike = response.likes - beginlike ; var bath = remainninglike*bathperlike; var totaldonatebath = beginbath+bath ; jQuery("#jkc_donate_score").val(totaldonatebath); jkc_donated_counter.goToNumber(totaldonatebath); */ }, dataType: 'json' }); |
แต่มาเมื่อวานคุณต้องบอกว่า โค้ดนี้ใน IE มันไม่ทำงาน ไม่รู้เป็นอะไร (ไม่เกี่ยวกับอาการคันหู) หาไปหามาก็คุณต้องอีกนั่นแหละมาบอกว่า ได้แล้วนะ dataType มันต้องเป็น jsonp
jQuery.ajax({ url: 'https://graph.facebook.com/borkboon', data: {}, success: function(response){ /* ไม่ต้องสนใจโค้ดส่วนนี้ ไม่ใช่ส่วนที่อยากจะให้ดู var remainninglike = response.likes - beginlike ; var bath = remainninglike*bathperlike; var totaldonatebath = beginbath+bath ; jQuery("#jkc_donate_score").val(totaldonatebath); jkc_donated_counter.goToNumber(totaldonatebath); */ }, dataType: 'jsonp' }); |
ผมลืมไปสนิทใจเลย ปัญหาเรื่อง cross domain นี่เอง
คือถ้าเขียนโค้ดดูด json มาจากเว็บอื่นที่ไม่ใช่เว็บเรามันต้องใช้ jsonp จะใช้ json ธรรมดาไม่ได้
อ้าว …. แล้วทำไมไฟฟ้อกกับโครม มันได้ล่ะ
ผมไม่รู้
Leave a Reply