如何从控制台中显示的`object`访问`status`?

时间:2015-11-05 12:51:09

标签: javascript jquery

index.html是:

<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title>Demo</title>


    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
    <script>

    $( document ).ready(function() {

        var obj = $.get('tmp.html');
        console.log(obj);
        console.log('obj.status:'+obj.status); 


    });

    </script>    
</head>
<body>
    <a href="http://jquery.com/">jQuery</a>

</body>
</html>

console中的输出是:

enter image description here

问题是我如何访问status的{​​{1}}代码,我所做的方式显示它未定义,尽管它是200

Code on plnkr.co

3 个答案:

答案 0 :(得分:1)

尝试使用此 -

$.get("tmp.html", function(data, status){
    alert("Data: " + data + "\nStatus: " + status);
});

或者如果您想要完整状态,请尝试此操作 -

$.get("tmp.html", function(data, status){

}).done(function(data, textStatus, jqXHR) {
    console.log(jqXHR.status  )
  })

答案 1 :(得分:1)

基本上jqXHR对象的状态已更新,以便在<{1}}致电后包含status 。这是JavaScript中异步操作的本质。

$。get()根据this返回console.log()个对象。您需要链接一个回调函数,例如jqXHR,以访问状态代码,该状态代码将传递给您的回调函数。

答案 2 :(得分:1)

获取响应代码的正确方法如下所示

$.ajax({
//...        
success: function(data, status, response) {
    console.log(response.status);
},
complete: function(response, status) {
    console.log(response.status);
}