我正在尝试使用jQuery从远程站点加载JSON编码数据,但是当jQuery尝试调用此URL时,它会将正确的函数附加到callback =?所以它就像callback = jsonp1256856769,但它也将_ = 1256856769添加到网址。因此,网址最终会像http://www.example.com/link/to/file.php?format=json&lang=en&callback=jsonp1256856769&_=1256856769
现在问题是我使用的那个文件调用它无法解释_ = 1234234而我无法更改它所以我必须修复jQuery问题
如何让jQuery不将_ =附加到它调用的URL
function getData(){
url = "http://www.example.com/link/to/file.php";
url += "?format=json&lang=en";
$.getJSON(url+"&callback=?",function(data){formatData(data);});
}
*上面是我目前正在使用的JavaScript代码片段
*请注意我使用的域名不是example.com
答案 0 :(得分:3)
更新:添加了代码
_=
部分在那里,因为JSONP请求默认为cache: false
。您可以设置cache: true
,这会使_=
部分消失,但浏览器会缓存请求。
function getData() {
url = "http://www.example.com/link/to/file.php";
url += "?format=json&lang=en";
$.ajax({
'url': url,
'type': 'GET',
'dataType': 'jsonp', // this adds &callback=? by design
'cache': true,
'success': function(data) { formatData(data); }
});
}