Jquery在JSON AJAX请求上形成格式错误的URL

Jquery在JSON AJAX请求上形成格式错误的URL,jquery,ajax,jsonp,Jquery,Ajax,Jsonp,我正在通过jQueryAjax向API发出JSON-p请求 $('#fetch').click(function(){ $.ajax({ url: 'http://abettertms.com/api2/terms', dataType: 'jsonp', success: function(){

我正在通过jQueryAjax向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以忽略无关的参数,但我不想求助于该参数。

它添加该参数是为了防止浏览器缓存这些响应。它可能是一个时间戳值,每次进行jsonp调用时都会生成不同的值。为什么会碍事?不管你的问题是什么,也许有其他的选择


如果您将
cache:true
作为
$.ajax
调用的参数添加,请查看它是否消失。

添加该参数是为了防止浏览器缓存这些响应。它可能是一个时间戳值,每次进行jsonp调用时都会生成不同的值。为什么会碍事?不管你的问题是什么,也许有其他的选择

如果将
cache:true
作为
$.ajax
调用的参数添加,则查看它是否消失。

cache 默认值:数据类型“script”和“jsonp”为true、false

如果设置为false,它将强制浏览器不缓存请求的页面。将cache设置为false还会将查询字符串参数“=[TIMESTAMP]”附加到URL。 请参阅以下链接中的缓存参数

参考:缓存 默认值:数据类型“script”和“jsonp”为true、false

如果设置为false,它将强制浏览器不缓存请求的页面。将cache设置为false还会将查询字符串参数“=[TIMESTAMP]”附加到URL。 请参阅以下链接中的缓存参数


Ref:

我猜jQuery正在添加时间戳..我猜jQuery正在添加时间戳..如果您不想缓存但由于IE8 URL字符限制想删除时间戳怎么办?如果您不想缓存但由于IE8 URL字符限制想删除时间戳怎么办?我设置了API,以便在任何情况下无关和意外的GET参数,我用HTTP 400 Bad RequestBTW响应,忽略查询参数是完全可以的,所有网站都这样做,当发现意外的查询参数时,通过抛出错误,您获得的成果很少(如果不是相反的话)(如果你在防止滥用你的服务,你只是在帮助那些探查它的人猜测什么是不相关的)。此外,你可以在你的“approved”上放置
int64
类型的
我设置了API,以便在任何无关和意外的GET参数的情况下,我使用HTTP 400 Bad RequestBTW响应,忽略查询参数是完全可以的,所有网站都这样做,并且当发现意外的查询参数时,通过抛出错误,您获得的成果很少(如果不是相反的话)(如果你在防止滥用你的服务,你只是在帮助那些探究它的人猜测什么是不相关的)。此外,你可以将
int64
类型的
“\uquot
放在你的“批准”列表中。