JQuery ajax请求一直返回Error(parsererror)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/enterys/article/details/7646295
 $.ajax({
				type :"post",
				url :"busine_in.action",
				timeout : 40000,
				data: "centerid="+s,
				error : function(XMLHttpRequest, textStatus, errorThrown) { 
						alert(XMLHttpRequest.status);
                        alert(XMLHttpRequest.readyState);
                        alert(textStatus);
					alert('读取超时,请检查网络连接');
				},
				dataType : "json",
				success : function(data){
					alert("1");
					 $("#select_div").hide();
						str='<div style=" overflow:auto;height:430px;">';
						str+='<table border="0" cellspacing="0" cellpadding="0" width="100%" class="table2 muma_list">';
						str+='<tr>';
						str+='<th align="left">区域</th>';
						str+='</tr>';
					$.each(data,function(i, n){
					alert("2");alert(i);alert("n=="+n.length);
					 if ("list" == i){
						str+='<tr>';
						str+='<td><a href="javascript:unitedit(\''+n.areaId+'\')" title="点击编辑">'+n.areaName+'</a></td>';
						str+='</tr>';
					 }
				   });
						str+='</table>';
						str+='</div>';
						alert("3");
						$("#select_div").html(str);
				 }
			  });
上述的代码一直进入error,并且
 alert(textStatus);

弹出的一直是parsererror

alert(XMLHttpRequest.status);

弹出200正常

  alert(XMLHttpRequest.readyState);

弹出4正常

最后发现弹出parsererror的原因是类型的问题,也就是说可能是返回类型出问题了。果然进过查找,发现在struts.xml文件中的ajax请求的action中的result返回类型不是json




JSP页面jQuery $.ajax一直返回error(parsererror)

09-16

另外两项XMLHttpRequest.status返回200;XMLHttpRequest.readyState返回4.都正常rn[code=javascript]rn$.ajax(rn data:"ids":id,rn url:url,rn dataType:"json",rn type:"GET",rn success:function(data,textStatus)rn console.log(data);rn console.log(textStatus);rn $.showTips(data.message);rn reloadPlugin(rn rn "date":lastDate,rn "search":$("#search").val()rn ,rn rn table:["list"],rn chart:[dgtCht]rn );rn ,rn error:function(XMLHttpRequest, textStatus, errorThrown)rn alert("失败");rn console.log(XMLHttpRequest.status);//200客户端请求已成功rn console.log(XMLHttpRequest.readyState);//4响应内容解析完成,可以在客户端调用了rn console.log(textStatus);//parsererrorrn rn );rn[/code]rn在控制台的Response返回了整个页面rn在控制台的Response Headers打印出的信息如下:rn [color=#FF0000] Content-Type:text/html;charset=utf-8[/color]rn Date:Tue,16 Sep 2014 00:35:02 GMTrn Server:Apache-Coyote/1.1rn Transfer-Encoding:chunkedrnrn但是另外一个请求,仅改变了请求地址url,请求就发送成功了进入successrn在控制台的Response Headers打印出的信息如下:rn[color=#FF0000]Content-Disposition:inlinernContent-Type:text/html[/color]rnDate:Tue, 16 Sep 2014 01:36:53 GMTrnServer:Apache-Coyote/1.1rnTransfer-Encoding:chunkedrnrn我百度了,有些说Header的类型有关,及编码header('Content-type: text/html; charset=utf8');rn还有说struts.xml中ajax请求的action中的result返回类型不是json,但是我看了好像都不太符合我这个问题。rnrn[code=text] rn rn rn text/htmlrn resultrn rn rn text/htmlrn resultrn rn [/code] 论坛

没有更多推荐了,返回首页