我有一个奇怪的情况,我正在用JavaScript制作一个AJAX请求。 流程是这样的: 单击“提交”按钮,将使用
触发AJAX POSTxmlhttp.open("POST",httpsPostURL,false);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send(queryString);
我曾经得到一个回复,其中相同的查询字符串附加了一些额外的数据。
现在,问题有时在响应中,附加信息不会附加。 我注意到了回调的状态变化。就绪状态始终为4,状态为200。
我怀疑缓存问题并添加了一个唯一的查询字符串,如下所示:
queryString = "CCNumber="+CCNumberVal+"&"+
"uniqueID="+Math.random();
仍然无法解释为什么我在网络中的某些机器上没有得到响应而且只有一些时间。
答案 0 :(得分:0)
看看这里发生了什么
你初始化xmlhttp然后发送请求到服务器,它将其状态变为4
然后再次发送请求然后xmlhttp状态4将不会被清除,因此更改状态事件将不会按您的意愿触发
所以我建议使用像
这样的功能 ajaxpost(queystring ) { //code here }
因此每次在该函数变量中初始化每个调用都会正确地获得您的更改状态事件,所以