Ajax readyState值,我输出结果依次为2,4,html代码段,3。请问是什么原因?
xmlRequest.open("GET","../testServlet",true);写这断代码时readyState输出的结果为2,4,readyState的直就是...
xmlRequest.open("GET","../testServlet",true); 写这断代码时 readyState输出的结果为2,4 ,readyState的直就是一段html代码段 最后才是3
如果改成xmlRequest.open("GET","../testServlet?",true); 或者后面加参数。就没有错。这个是为什么啊?求大神赐教。给加分!! 展开
如果改成xmlRequest.open("GET","../testServlet?",true); 或者后面加参数。就没有错。这个是为什么啊?求大神赐教。给加分!! 展开
1个回答
展开全部
get请求一直是加载缓存里面的数据。就是你get请求一次之后,后面还是用这个url一直请求到的结果都是你第一次请求到的ajax内容。
为什么你第二次就可以取到了,是因为你get请求后的url变了,加了一个?,url变了。
所以你想要解决问题,一是用post方法提交,另一种就是用xmlRequest.open("GET","../testServlet?t=(new Date().getTime())",true);
每次都给url加一个参数,取当前时间,url参数变了,所以每次就不会去取缓存中的数据。
为什么你第二次就可以取到了,是因为你get请求后的url变了,加了一个?,url变了。
所以你想要解决问题,一是用post方法提交,另一种就是用xmlRequest.open("GET","../testServlet?t=(new Date().getTime())",true);
每次都给url加一个参数,取当前时间,url参数变了,所以每次就不会去取缓存中的数据。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询