XMLHttpRequest完成后运行Javascript

时间:2016-12-13 08:37:19

标签: javascript ajax callback xmlhttprequest

我的问题是JavaScript比XMLHttpRequest更快。我不想用以下方法解决它:

setTimeout(function() {}, 100);

我的代码:

function change_country(id) {

    if (window.XMLHttpRequest) {
        xmlhttp = new XMLHttpRequest();
    }
    else {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }

    xmlhttp.onreadystatechange = function () {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {

            var data = JSON.parse(xmlhttp.responseText);

            document.getElementById("continent").value = data.continent;
            document.getElementById("country").value = data.country;

        }
        xmlhttp.open("GET", "request_country_change.php?id=" + id, true);
        xmlhttp.send();
    }
}

代码只是一个例子,而不是原始代码。它应该是一种变化形式。因此,在此示例中,它会在选择字段中加载所有大陆的列表。它选择与id相关的大陆,与国家相同。但它只在选择字段中加载列表,但它运行JavaScript部分

document.getElementById("continent").value = data.continent;
document.getElementById("country").value = data.country;
早点。如果我在警报或setTimeout之间进行操作,它可以用另一种方式解决它吗?

1 个答案:

答案 0 :(得分:0)

我认为你想要它添加到另一个js函数,如:

在js中

function storeContinent(val){
     document.getElementById("continent").value = val;
}

不确定我是否得到你想要的东西