AJAX JSONP调用自动添加回调参数。 如何删除?

我的服务很少 – 有干净的URL

在调用每个服务时,正在检查URL模式。

现在我正在使用JSONP技术从另一台服务器通过AJAX调用这些URL。

但是,在调用时,它会自动添加带有服务URL的callback_(timestamp)参数。

通过添加cache : true删除timestamp参数。 但是无法删除回调参数。

这是我的AJAX调用代码 –

 $.ajax({ type: 'GET', url : "http://test.com/test/services/getFollowMeHistory/1/1/50", dataType:'jsonp', cache : true, crossDomain : true, //jsonpCallback : false, error : function(XMLHttpRequest, textStatus, errorThrown) { alert("Error occured while loading Loads."+textStatus); } }); }); 

它调用URL作为http://test.com/test/services/getFollowMeHistory/1/1/50?callback=false并从服务端获得404。

我的服务是将数据作为callbackMethod({.. JSON RESPONSE …})返回 。 因此,它会在我的脚本中自动调用function callbackMethod(data) 。 我不需要我的URL中的回调参数。

只需要从URL中删除?callback=...部分

Plz的帮助。

你应该设置jsonp: false而不是jsonpCallback: false 。 您还应该将jsonpCallback选项显式设置为您希望从服务接收的回调名称。

参考: http : //api.jquery.com/jQuery.ajax/

  1. 如果将cacheing设置为true即将缓存请求响应,并且所有后续JSONP调用都不会返回新数据。

  2. 如果没有回调,JSONP将无法使用,因为无法读取响应。 回调是JSONP的重点。

  3. 您的服务器必须设置为处理JSONP请求。 您发送的url不会影响客户端。 所以你的问题必须在服务器端。 你应该在哪里处理它。 使这不是一个jQuery问题。

如果您使用自定义回调尝试此操作,但自定义回调与删除回调不同:

  jsonpCallback : "callbackMethod"