我通过ajax获取json响应,所以当我对json响应数组长度进行提醒时,代码正确显示

try {
    xmlHttp.open("GET", "ajaxmodel_new.php?model_id="+model_id,true);
    xmlHttp.onreadystatechange = function() {
        if (xmlHttp.readyState == 4 && xmlHttp.status==200){
        model_details_json =  JSON.parse(xmlHttp.responseText)
        alert(model_details_json.communication.length)
        }
    }


所以警报给出的是4 ....同一件事,即我需要在其他函数中使用model_details_json.communication.length

function options(){

    document.getElementById('selected_opt').style.display = '';

    if(model_details_json.communication.length != 0 ){
}
}


由于model_details_json.communication未定义,因此显示错误,此处model_details_json是全局变量

最佳答案

如果在AJAX对象收到响应之前调用options(),则该参数为NULL,因此您无法访问.communication.length。

关于javascript - 通过AJAX的JSON格式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5473676/

10-09 15:16