Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 执行顺序ajax请求_Javascript_Ajax_Xmlhttprequest - Fatal编程技术网

Javascript 执行顺序ajax请求

Javascript 执行顺序ajax请求,javascript,ajax,xmlhttprequest,Javascript,Ajax,Xmlhttprequest,我尝试执行两个连续的ajax请求,如: var xmlhttp; if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else {// code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystat

我尝试执行两个连续的ajax请求,如:

var xmlhttp;
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("POST","data.php",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send('url=' + url);
var x=10;
var y=20;
xmlhttp.open("POST","datatest.php",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send('x=' + x, 'y=' + y);
没有给出错误,但表示:

POST http://dev01.dev/data.php Aborted 
并且仅在datatest.php中显示
echo
的结果。如何从data.php和datatest.php获得响应

更新:

data.php
将给出一些结果

echo $result1;
echo $result2;
datatest.php
将给出一些结果

echo $result1;
echo $result2;
我想在
myDiv
中追加以上两个结果

如果我这样做

document.getElementById("myDiv").innerHTML=xmlhttp.responseText1;
然后

它将替换内容。我想附加它

如何从data.php和datatest.php获得响应

使用单独的XHR对象,而不是尝试重用现有的XHR对象。您当前的代码启动了一个请求,但随后执行了
xmlhttp.open(“POST”,“datatest.php”,true),因此请求被中止

例如:

var xmlhttp1, xmlhttp2;
function getXHR() {
    if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
        return new XMLHttpRequest();
    }
    else { // code for IE6, IE5
        return new ActiveXObject("Microsoft.XMLHTTP");
    }
}
xmlhttp1 = getXHR();
xmlhttp1.onreadystatechange = function () {
    if (xmlhttp1.readyState == 4 && xmlhttp1.status == 200) {
        document.getElementById("myDiv").innerHTML = xmlhttp1.responseText;
    }
};
xmlhttp1.open("POST", "data.php", true);
xmlhttp1.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp1.send('url=' + url);

var x = 10;
var y = 20;
xmlhttp2 = getXHR();
xmlhttp2.onreadystatechange = function () {
    // Presumably do someething with the result of this one, too
};
xmlhttp2.open("POST", "datatest.php", true);
xmlhttp2.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp2.send('x=' + x, 'y=' + y);

您能告诉我如何在xmlhttp2结果中附加到
myDiv
吗?@Karimkhan:您在第一个请求中没有附加到
myDiv
,而是替换了它的内容。在这两种情况下,是否都要追加(添加到内容中)?