jQuery ajax返回数据:json和html混合?
我有这个ajax请求,可从服务器获取数据,并且默认情况下dataType
始终html
是。但是有时它会从服务器返回json,所以我想检查返回的数据是否为html,然后执行A,否则执行B。可能吗?
我的jQuery
$.ajax({ type: "GET",
dataType: "html",
url: request_url,
context: $('#meat'),
async: true,
beforeSend: function () {},
success: function (returndata, status, jqXHR) {
if ($.parseJSON(returndata) === false) A;
else B.
}
});
当返回的数据为时html
,出现此错误,
语法错误:JSON.parse:意外字符
那么如何使此代码 ?
回答:
我不确定是否有更好的方法,但是您可以尝试…
$.ajax({ type: "GET",
url: request_url,
context: $('#meat'),
async: true,
beforeSend: function() {
},
success: function (returndata, status, jqXHR) {
var parsed;
try
{
parsed = $.parseJSON(returndata);
// Execute B
}
catch(e)
{
// treat as html then
// do parsing here
parsed = returnData;
// Execute A
}
}
});
以上是 jQuery ajax返回数据:json和html混合? 的全部内容, 来源链接: utcz.com/qa/401496.html