关于Ajax参数的思考

写了很多的阿贾克斯,LOL也玩了很多把武器大师,结果都一样,水平不是靠写很多遍或者玩很多把就能提高的,关键在于多思考。

今天处理Layui在IE表格重载的问题中,因为IE中的缓存机制,查询路径,参数一样,会返回第一次的结果。习惯性的想用添加额外参数,来告诉IE,我这是一个新的查询请求,请把最新鲜的货给我。

我比较懒,在Layui中重载表格,一般会调用分页按钮的刷新,来完成重载。如果reload重载的话,会刷新整个表格而不能停留在当前页。

通过Layui社区呢说解决这个缓存问题还有一种解决方法,就是通过修改Layui中js的ajax方法,通过cache : false来表达。它做的工作就是在请求URL后添加一个随机时间戳。随后我把它添加到我的添加数据中的ajax中,兴高采烈的ctrl+F5,但并没有什么作用。随后意识到,我给添加方法加上这个干嘛,应该给表格的查询啊。同时,百度了一下这个cache : false,解决了我一点小疑惑。在type : 'POST的情况下,cache : false就不需要指定了,因为post请求本身就不会参与缓存。

不管是layui的自动渲染还是方法渲染,它的ajax已经封装好了,并不能直接去添加cache : false。后来,机缘巧合,我搜到了method属性,通过它给layui表格设置post请求方式,那个缓存问题就引刃而解了。

感觉自己盲目的写了不少,很少去深入理解其中的奥妙。

比如Ajax中的dataType: 'json'  以前总喜欢带上它,以为它表示规定向服务器发送的格式,今天才搞明白它是期望服务器返回json格式。

contentType:“application/json”则表示向服务器发送json字符串。

愿以后的道路,自己能多动脑思考,而不是写的没完没了。

posted @ 2020-03-19 18:19  汉中欸  阅读(153)  评论(0编辑  收藏  举报