解决ajax的parsererror错误的终极办法(后台传给前台的数据json问题)
解决ajax的parsererror错误的终极办法(后台传给前台的数据json问题)
出现这个问题的原因是因为后台传给前台的数据出现了问题,ajax对于json的格式特别的严格
下面是会出现这个问题的ajax请求
$.ajax({
type:'get',
url:"{php echo $this->createWebUrl('ajax',array('ac'=>'cunByXiangId'))}",
data:{id:id},
dataType:'json',//这个地方是问题的关键所在
success:function(obj){
},error: function(XMLHttpRequest, textStatus, errorThrown) {
alert(XMLHttpRequest.status);
alert(XMLHttpRequest.readyState);
alert(textStatus);
}
});
问题主要是出在了dataType:'json',这行代码,这行代码的意思就是接收回传的数据为json格式。这个时候,我们只需要删除这段代码,就会接收到字符串格式的
数据,然后再进行转换成json格式,下面是代码
$.ajax({
type:'get',
url:"{php echo $this->createWebUrl('ajax',array('ac'=>'cunByXiangId'))}",
data:{id:id},
success:function(obj){
obj=eval('('+obj+')');//这段代码就是将字符串转换成json格式
},error: function(XMLHttpRequest, textStatus, errorThrown) {
alert(XMLHttpRequest.status);
alert(XMLHttpRequest.readyState);
alert(textStatus);
}
});
好了 问题就这么解决了。如果有什么不懂 请联系我的邮箱hupuqi@aliyun.com