有特殊字符的JSON串
/**
* 用于解析后台传来的有特殊字符的JSON串,解决解析出现200错误的情况
* @param url
* @param requestData 参数
* @param callback 回调函数
* @param failCallback 出错时的回调
*/
var baoAjax = function (url,requestData,callback,failCallback) {
$.ajax({
type : "post",
url : url,
dataType:"json",
data:requestData,
success : function(data) {
if($.isFunction(callback)){
callback(data);
}
},
error:function(xhr, textStatus, errorThrown){
console.log(xhr);
if(textStatus=="parsererror"){
var jsonString = xhr.responseText;
//解析异常
try{
callback(JSON.parse(jsonString));
}catch (e){
try{
var data = (new Function("return " + jsonString))();
callback(data);
}catch(e2){
console.error("baoAjax解析数据异常!"+url);
}
}
}else{
if($.isFunction(failCallback)){
failCallback();
}
}
}
});
}