如何使用.load jQuery获得响应

时间:2014-10-31 20:28:11

标签: javascript jquery ajax json

我正在使用jQuery中的.load函数将html页面加载到带有ajax的div中,但我有问题,因为服务器总是不发送html,有时它会发送json而我希望json获得.load

我认为response中的.load回调函数是json,但它返回未定义,只是将json放入div中,那么我怎样才能得到.load{ok : false}

服务器发送此json:

$( "#div").load( "url", function( response, status, xhr ) {
    ////how can I get the false result here response.ok return nothing!!!
    console.log(response.ok);
    if ( status == "error" ) {
        var msg = "Sorry but there was an error: ";
        $( "#div" ).html( msg + xhr.status + " " + xhr.statusText );
    }
});

这是我的jQuery代码:

{{1}}

2 个答案:

答案 0 :(得分:3)

我认为你必须做这样的事情:

$("#div").load( "url", function( response, status, xhr ) {
    var responseAsObject = $.parseJSON(response);
    console.log(responseAsObject.ok);
});

答案 1 :(得分:1)

使用响应替换#div html内容:

$("#div").load("url", function (responseTxt, statusTxt, xhr) {
    if (statusTxt == "success") {
        var responseAsObject = $.parseJSON(response);
        $(this).html( responseAsObject.response );
    }
    if (statusTxt == "error") 
        alert("Error: " + xhr.status + ": " + xhr.statusText);
});