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解决方法,希望对大家有所帮助!

相关推荐