为了账号安全,请及时绑定邮箱和手机立即绑定

jquery合并了所有相同的请求?

jquery合并了所有相同的请求?

吃鸡游戏 2019-02-13 22:51:08
后端端口:随机从数据库中获取一条数据;前端:同一个循环中获取的10条都是相同的数据;前端发了10个request,但是后台只收到一个请求,也只返回了一次给前端接口的data中加一个不一样的序号参数之后就能正确获取10条随机的数据了猜测:jq的默认优化,导致所有相同的请求jq只发一遍,一个返回值赋予所有的请求;问题: $.ajax是否有相关设置把这中合并相同请求的默认设置改掉ps: 查阅jq文档后没有找到这项设置,附上代码,谢谢大家。
查看完整描述

1 回答

?
万千封印

TA贡献1891条经验 获得超3个赞

被大佬解惑,是因为jQ缓存了GET请求的结果,这里贴上大佬的回答,感谢JLRishe的回复:

Most likely, the response is being cached because it is a GET request. Try telling jQuery to disable the cache:


$.ajax( {


type: "get",

url: "/getNickname",

cache: false,          // <--- here

data: {

    //index: i //my solution

},

beforeSend: function ( request ) {


},

success: function ( res ) {

    console.log( "test response is ", JSON.stringify( res ) );

},

error: function ( err ) {

    reject( err );

}

} );


另付jq文档关于cache选项的说明:

cache (default: true, false for dataType 'script' and 'jsonp')

Type: Boolean

If set to false, it will force requested pages not to be cached by the browser. Note: Setting cache to false will only work correctly with HEAD and GET requests. It works by appending "_={timestamp}" to the GET parameters. The parameter is not needed for other types of requests, except in IE8 when a POST is made to a URL that has already been requested by a GET.


查看完整回答
反对 回复 2019-02-16
  • 1 回答
  • 0 关注
  • 557 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信