网页上需要按一个按钮后多个数据进行刷新,也就是说要通过AJAX返回多个数据并在页面上显示。比较笨的办法一个返回数据新建一个函数,相当于每个数据都通过AJAX进行一次提交,结果常见的错误就是函数中的变量名一致导致提交错误。即使正确,当多次刷新后,往往会出现数据冲突,比如A数据出现在B数据的地方。这个主要是因为获取数据都是通过if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")的语句来判断的,但是多个返回容易产生冲突,前一个刚判断状态后一个数据就来了,结果后一个数据代替了前一个数据。
比较好的方法就是还是一次提交,在PHP页面上同时处理并按照一定格式归并在一起,比如:数据1|数据2|数据3|数据4……。然后再调用返回 数据的时候在JS代码中把数据分割开来,在将数据放入该数据本应该存放的位置。
处理代码如下:
1 2 3 4 5 6 7 8 9 10 11 | function test()/*通过AJAX,检验输入数据的格式并返回相应的值*/ { if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { var str=xmlHttp.responseText var reback=new Array() reback=str.split("-") document.getElementById("data1").value=reback[0] document.getElementById("data2").value=reback[1] } } |