解决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

posted @ 2017-11-15 14:59  胡朴桤  阅读(20777)  评论(2编辑  收藏  举报