我的服务很少 - 有干净的网址
并且在调用每个服务时,正在检查URL模式。
现在我正在使用JSONP技术从另一台服务器通过AJAX调用这些URL。
但是,在致电时,它会自动为服务网址添加callback
和_(timestamp)
个参数。
删除时间戳参数 - 添加cache : true
。但是无法删除回调参数。
这是我的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)
。我的网址中不需要该回调参数。
只需从网址
中删除?callback=...
部分即可
Plz帮助。
答案 0 :(得分:14)
您应该设置jsonp: false
而不是jsonpCallback: false
。您还应该将jsonpCallback
选项明确设置为您希望从服务接收的回调名称。
答案 1 :(得分:2)
如果将缓存设置为true
,即将缓存
请求响应,所有后续JSONP调用都不会返回新的
数据
没有回调JSONP无法使用,因为没有 阅读回复的方式。回调是JSONP的重点。
如果您使用自定义回调尝试此操作,但自定义回调与删除回调不同:
jsonpCallback : "callbackMethod"