2012-04-17 141 views
0

我想讀取外部服務器上的簡單JSON。在Firebug Net Panel中,我在Response和JSON標籤中看到了正確的數據。但成功功能不會執行。jsonp問題 - 成功功能不執行

回調顯示爲:fullurl?callback=jQuery1710837256851301949_1334637212326&_=1334638519052而不是一個函數 - 不知道爲什麼 - 這可能是問題嗎?

我的代碼:

$.ajax({ 
    type: "GET", 
    url: "external url", 
    dataType: "jsonp", 
    data : {}, 
    success: function (data) { 
     console.log('success'); 
     alert("success"); 
     // var myname = data.name; 
     // var myid = data.id; 
     //  var fullcontent= "Name: " + myname + " ID: " + myid; 
     // $("#jsondata").html(fullcontent); 
    } 
}); 

請幫助 - 謝謝

回答

1

你需要指定回調函數作爲jsonpCallback沒有成功。

$.ajax({ 
     type: "GET", 
     url: "external url", 
     dataType: "jsonp", 
     data : {}, 
     jsonpCallback: function (data) { 
      console.log('success'); 
      alert("success"); 
     } 
}); 

編輯

對於JSONP正常工作,服務器應該直接寫流中的JSON數據。它不應該打印JSON字符串。更多詳情請點擊這裏question

我假設你在服務器中正確寫入流。情況是這樣嗎?

+0

感謝Sudar - 但它仍然無法正常工作。還有其他建議嗎? – user1337813 2012-04-17 20:14:43

+1

jsonpCallback函數中的數據對我來說未定義。如何解決這個問題? – 2012-11-03 04:46:50