我有这个ajax请求,可从服务器获取数据,并且默认情况下dataType始终html是。但是有时它会从服务器返回json,所以我想检查返回的数据是否为html,然后执行A,否则执行B。可能吗?
dataType
html
我的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 } } });