2013-04-16 53 views
0

我很難讓$.ajax與我的webservice一起工作。讓jQuery.ajax與我的jsonp webservice很好玩

我有一個WebService我用Java寫的(我在的Java吸),它預計像example.com/webservice/somestuff/callback

URL和返回JSONP像callback({"success":true})

我的jQuery類似於:

$.ajax({ 
    type: "GET", dataType: "jsonp", 
    url: '//example.com/someStuff', 
}).done(doSomething) 

問題是的,jQuery所做的所有好事都讓JSONP的工作讓我感到困惑。它附加一個查詢字符串(即?callback=jQuery19786...),其中我的Service只需要一個常規路徑參數。

如果我能以某種方式說服jQuery做example.com/webservice/somestuff/jQuery19786...這將是理想的。

想法?

回答

2

只需放置??您想要回調的位置。

$.ajax({ 
    type: "GET", dataType: "jsonp", 
    url: '//example.com/someStuff/??', 
}).done(doSomething) 

另一種方法是使用beforeSend選項來操縱URL jQuery的修改後:

$.ajax({ 
    url: "//example.com/foo/bar/?callback=?", 
    dataType: "jsonp", 
    cache: true, 
    beforeSend: function(jqXHR,options){   
     options.url = options.url.replace(/\?callback\=/,""); 
     //console.log(options.url); 
     //return false; 
    } 
}); 
+0

這似乎不再記錄,我不知道它是否仍然適用? –

+0

隱而不宣」 t看起來像:-(。''//example.com/someStuff/ ??'轉換爲'//example.com/someStuff?callback = ...' –

+0

等待,我撒謊哈哈。叛徒分號亂搞雖然現在我有一個新的問題... –

相關問題