Javascript AJAX工作但无法从收到的响应中检索对象

时间:2017-04-24 12:40:13

标签: javascript

我在Java脚本中尝试过以下脚本,

// Below is the Ajax call for get http methods
function callAjaxGet(url, callback){
    var xmlhttp;
    // compatible with IE7+, Firefox, Chrome, Opera, Safari
    xmlhttp = new XMLHttpRequest();
    xmlhttp.onreadystatechange = function(){
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200){
            console.log('+++++++++++++++++++++++++++');
            console.log(xmlhttp['responseJSON']);
            console.log(xmlhttp.responseJSON);
            callback(xmlhttp.responseJSON);
        }
    }
    xmlhttp.open("GET", url, true);
    xmlhttp.send();
}

我无法获取xmlhttp.responseJSON,它会在响应中填充,我可以在firebug窗口中看到它。但无法访问它。

我通过调用以下函数来使用上述函数。

window.onload = function() {
    url = "/user/getAll";
    var data = callAjaxGet(url, function(responseJSON) {
        // on success call back.
        console.log(responseJSON);
    });
}

过去几个小时我一直在寻找,但还没有成功。

1 个答案:

答案 0 :(得分:0)

试试这个:

// Below is the Ajax call for get http methods
function callAjaxGet(url, callback){
    // compatible with IE7+, Firefox, Chrome, Opera, Safari
    var xmlhttp = new XMLHttpRequest();
    xmlhttp.onreadystatechange = function(){
        if (this.readyState == 4 && this.status == 200){

            callback(JSON.parse(this.responseText));
        }
    }
    xmlhttp.open("GET", url, true);
    xmlhttp.send();
}