我正在使用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}}
答案 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);
});