我正在通过jQuery AJAX向API发出JSON-P请求
$('#fetch').click(function(){
$.ajax({
url: 'http://abettertms.com/api2/terms',
dataType: 'jsonp',
success: function(){
console.log("success");
},
error: function() { console.log('error'); }
});
});
使用Chrome控制台进行调试会显示ajax请求
http://abettertms.com/api2/terms?callback=jQuery1710946886689402163_1328157759295&_=1328157761647
使用额外参数&_=1328157761647
。为什么jQuery会添加?我正在调用的API是我自己的,所以在紧急情况下,我可以编辑API以忽略无关的参数,但我宁愿不必诉诸于此。
答案 0 :(得分:2)
<强>缓存强> 默认值:true,false表示dataType'script'和'jsonp'
如果设置为false,它将强制浏览器不缓存请求的页面。将cache设置为false还会将查询字符串参数“_ = [TIMESTAMP]”附加到URL。 请参阅以下链接中的缓存参数。
参考:jquery ajax
答案 1 :(得分:1)
它补充说是为了防止浏览器缓存这些响应。它可能是一个时间戳值,每次进行jsonp调用时生成的值都不同。为什么会这样?也许你的问题有其他选择。
如果您将cache:true
作为$.ajax
来电的参数添加,请查看它是否消失。