ajax通过get提交的问题

xmlhttprequest.open("GET", "demo_get.jsp" + Math.random(), true);

里面第二个参数怎么理解,加上 Math.random() 有什么作用?

阅读 7.8k
5 个回答

get请求会被浏览器缓存,因此加上随机码使每次访问的URL字符串不一样实现每次都重新请求数据。

第二个参数是请求的url。

应该打不开demo_get.jsp吧,这是错误代码示范么?
"demo_get.jsp" + Math.random() 会输入类似下边的字符串。
"demo_get.jsp0.4645589392646492"
按url的语法来解释,这就不是在取demo_get.jsp了,这个是在取demo_get.jsp0.4645589392646492 目录。

要防止缓存的话在"demo_get.jsp"后边加个问号,"demo_get.jsp?v=0.4645589392646492"
浏览器会认为你在做查询,由于每次查询的k都不同,所以不会调用缓存。
最后就是这样了。
xmlhttprequest.open("GET", "demo_get.jsp?v=" + Math.random(), true);

get请求时,ie浏览器会有缓存加上随机数就相当加上时间戳,每次请求都是新的。

logo
101 新手上路
子站问答
访问
宣传栏