jquery中ajax请求后台数据成功后既不执行success也不执行error的完美解决方法

jquery中ajax请求后台数据成功后既不执行success也不执行error,此外系统报错:Uncaught SyntaxError: Unexpected identifier at Object.success,但后台能够返回数据,原代码如下:

 var source=[];
$.ajax({   
  type: "post",   
  url: "connectdb/select.jsp",    
  data: {database: "scmdb", selectsql: sql}, 
  async: false, method: 'post',  
  dataType: "json", 
  success: function(data) {   
    eval("source="+data+";");
    //source=eval(data); 
    alert("正确");
  },
  error: function(err) {  
    alert("错误");   
  }
});
return source;  

主要原因在于后台返回的数据并非json格式,而在代码中指定了 dataType: "json", 解决方法是将 json改为text,修改后的代码如下:

 var source=[];
$.ajax({   
  type: "post",   
  url: "connectdb/select.jsp",    
  data: {database: "scmdb", selectsql: sql}, 
  async: false, method: 'post',  
  dataType: "text", 
  success: function(data) {   
    eval("source="+data+";");
    //source=eval(data); 
    alert("正确");
  },
  error: function(err) {  
    alert("错误");   
  }
});
return source; 

总结

以上所述是小编给大家介绍的jquery中ajax请求后台数据成功后既不执行success也不执行error解决方法,希望对大家有所帮助!

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。