Javascript 我想使用ajax在php中将值传递给多个url,并以多个html元素id返回响应

Javascript 我想使用ajax在php中将值传递给多个url,并以多个html元素id返回响应,javascript,ajax,Javascript,Ajax,我想使用ajax向php中的多个url发送一个值。。在下面的示例中,我希望将请求发送到getuser.php和getuser2.php,并希望返回对元素id TXTHINT和TXTHINT2的响应。。下面的代码不起作用。。我哪里做错了 function showUser(str) { if (str=="") { document.getElementById("txtHint").innerHTML=""; return; }

我想使用ajax向php中的多个url发送一个值。。在下面的示例中,我希望将请求发送到getuser.php和getuser2.php,并希望返回对元素id TXTHINT和TXTHINT2的响应。。下面的代码不起作用。。我哪里做错了

  function showUser(str) {
      if (str=="") {
        document.getElementById("txtHint").innerHTML="";
        return;
      }
      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("txtHint").innerHTML=xmlhttp.responseText;
        }
      }
      xmlhttp.open("GET","getuser.php?city_main="+str,true);
      xmlhttp.send();



    function showUser2(str) {
      if (str=="") {
        document.getElementById("txtHint2").innerHTML="";
        return;
      }
      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("txtHint2").innerHTML=xmlhttp.responseText;
        }
      }
      xmlhttp.open("GET","getuser2.php?city_main="+str,true);
      xmlhttp.send();
    }  


    }

用这个代替你的代码你的代码真的很难看而且嵌套很奇怪:

function fillHint(hintID, url, str) {
  if (str=="") {
    document.getElementById(hintID).innerHTML="";
    return;
  }
  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(hintID).innerHTML=xmlhttp.responseText;
    }
  }
  xmlhttp.open("GET",url+".php?city_main="+str,true);
  xmlhttp.send();
}

function showUser(str) {
  fillHint("txtHint", "getuser", str);
}

function showUser2(str) {
  fillHint("txtHint2", "getuser2", str);
}

function someMasterCallFn() {
  if (...) { // if first should be called
    showUser(theString);
  } else if (...) { // if second should be called
    showUser2(theString);
  }
}
如果要调用这两个函数,有两种可能:

function showUser(str) {
  fillHint("txtHint", "getuser", str);
  showUser2(str);
}

function showUser2(str) {
  fillHint("txtHint2", "getuser2", str);
}


你能帮我一下吗……如果是上面的复制/粘贴代码,你有语法错误-showUser函数的未闭合大括号你能给我们它给出的错误消息吗?showuser2函数嵌套在showuser2函数中,为什么?除了从第一个函数调用外,它不能从任何其他地方调用。。。实际上,没有调用第二个函数
function someMasterCallFn() {
  showUser(theString);
  showUser2(theString);
}