2013-03-20 68 views
2

我使用jQuery的JSONP有問題:JSONP問題查詢REST服務

http://jsfiddle.net/emepyc/tuCvT/

$.ajax({ 
    url   : url, 
    dataType  : 'jsonp', 
    contentType : "application/json", 
    jsonpCallback : 'cback', 
    crossDomain : true, 
    jsonp   : false, 
    success  : function(json) {console.log("RESP: " + json)}, 
    error   : function(error) {console.log("ERROR: " + error.message)} 
}); 

調試與Chrome的開發者工具,我可以看到,REST服務器將數據送回,但「錯誤「回調總是被調用。 我嘗試過幾種選擇組合,但沒有運氣。

任何想法?

解決方法:我使用的是一個錯誤的網址,要求提供json(而不是jsonp)響應。固定的版本在這裏:

http://jsfiddle.net/emepyc/tuCvT/1/

+2

有什麼響應的狀態碼?它不會基於響應而是基於狀態碼觸發錯誤。 – HungryCoder 2013-03-20 12:30:28

+0

@HungryCoder,狀態碼是200 OK。 – emepyc 2013-03-20 13:21:11

+3

@emepyc繼續並提供您的「已解決」信息作爲您自己問題的答案,並接受它作爲正確答案。 – 2013-03-20 13:53:11

回答

0

解決:我使用的是錯誤的URL這是要求一個JSON(不JSONP)響應。固定的版本在這裏:

http://jsfiddle.net/emepyc/tuCvT/1/

var url = prefix + species + "/" + chr + ":" + fromPos + "-" + toPos + ".jsonp?feature=gene;callback=" + cback;