使用jquery的ajax调用,发现一直回调error函数,ajax调用代码以下,后台返回是正确的,为何会报错呢?
var descValue = $('#descEditArea').val(); descValue = descValue.replace(/\n/g, '<br/>'); var url = "/network/KpiDescServlet"; $.ajax({ url:url, type:"post", data:{rm:Math.random(),kpiId:"<%=kpiId%>",kpiType:"<%=kpiType%>",kpiDesc:descValue}, dataType:"json", success:function(data){ alert("修改为功"); $("#desc").html(descValue); cancle(); }, error:function(){ alert("修改失败"); cancle(); } });
后来查找资料才发现,后台返回处设置的为ContentType"text/xml",而前台要求的是json,后台返回的不是一个正确的json,因此报错,修改方法为把前台的dataType修改成text
response.setContentType("text/xml;charset=UTF-8");response.setHeader("Cache-Control", "no-cache");PrintWriter out = null;out = response.getWriter();out.println(result);