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;

  

posted @ 2017-12-24 10:37  瞌睡的奶酪  阅读(11547)  评论(0编辑  收藏  举报