javascript内部的Ajax调用

ajax call inside javascript

本文关键字:调用 Ajax 内部 javascript      更新时间:2023-09-26
var oldip = document.getElementById('ip').value;
var newip1 = document.getElementById('txtintip1').value;
var newip2 = document.getElementById('txtintip2').value;
var newip3 = document.getElementById('txtintip3').value;
var newip4 = document.getElementById('txtintip4').value;
var newip = newip1 + "." + newip2 + "." + newip3 + "." + newip4;
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function () {
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
          if (xmlhttp.responseText == "pinging") {
              alert("IP is already in use");
          }         
    }
}
xmlhttp.open("GET", "checkping.php?ip=" +newip, true);
xmlhttp.send();
if (document.getElementById('interface').value == "default") {
    alert("Select Interface");
    document.registerlist.interface.focus();
    return false;
} 
if (document.getElementById('txtintip1').value === "") {
    alert("Enter Valid IP Address");
    document.registerlist.txtintip1.focus();
    return false;
}
if (document.getElementById('txtintip2').value === "") {
    alert("Enter Valid IP Address");
    document.registerlist.txtintip2.focus();
    return false;
}
if (document.getElementById('txtintip3').value === "") {
    alert("Enter Valid IP Address");
    document.registerlist.txtintip3.focus();
    return false;
}
if (document.getElementById('txtintip4').value === "") {
    alert("Enter Valid IP Address");
    document.registerlist.txtintip4.focus();
    return false;
}

以上是我的代码,其中第一个ajax将检索是否给定的ip是冲突的。但我面临的问题是,ajax是响应缓慢,javascript是完整的。所以我不能完成我的动作,所以如何先运行ajax,然后javascript执行将继续?

你的方法清楚地表明它是异步的

xmlhttp.open("GET", "checkping.php?ip=" +newip, true);

最后一个参数(true)是1 !

http://www.w3schools.com/ajax/ajax_xmlhttprequestrongend.asp