写了很多的阿贾克斯,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字符串。
愿以后的道路,自己能多动脑思考,而不是写的没完没了。