您好,欢迎访问一九零五行业门户网

Ajax交互时被报status=parsererror错误如何解决

这次给大家带来ajax交互时被报status=parsererror错误如何解决,解决ajax交互时报status=parsererror错误的注意事项有哪些,下面就是实战案例,一起来看一下。
原因:servlet 返回的数据不是 json 格式
1、js代码为:
var jsonstr = {'clusternum':2,'iterationnum':3,'runtimes':4};     $.ajax({       type: post,       //http://172.22.12.135:9000/json.json       url: /lshome/lshome,       datatype : 'json',       data : jsonstr,       success: function(data,textstatus){         if(textstatus==success){            alert(创建任务操作成功+data);               }               },       error: function(xhr,status,errmsg){         alert(创建任务操作失败!);       }     });
2、注意上面的 url 为 /lshome/lshome,(项目名称为lshome)所以在 web.xml 文件中,配置 servlet 如下:
<servlet>    <servlet-name>lshomeservlet</servlet-name>    <servlet-class>com.ys.servlet.lshomeservlet</servlet-class>  </servlet>  <servlet-mapping>    <servlet-name>lshomeservlet</servlet-name>  <url-pattern>/lshome</url-pattern>
3、servlet 中代码为:
protected void dopost(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception {     //聚类数量     string clusternum = request.getparameter(clusternum);     //迭代次数     string iterationnum = request.getparameter(iterationnum);     //运行次数     string runtimes = request.getparameter(runtimes);     system.out.println(聚类数量为:+clusternum+---迭代次数:+iterationnum+---运行次数:+runtimes);     printwriter out = response.getwriter();           out.write(success);     out.close();     }
4、结果是一直都是进入到 ajax 方法里面的 error,而且status=parsererror
xhr = object {readystate: 4, responsetext: success, status: 200, statustext: ok}
5、解决办法:
原因是通过 response 对象返回的数据格式不正确,正确方法
printwriter out = response.getwriter(); string jsonstr = {\success\:\ok\};  out.write(jsonstr);
可以将返回值拼凑成 json 数据格式,然后会不会报status=parsererror
相信看了本文案例你已经掌握了方法,更多精彩请关注其它相关文章!
推荐阅读:
怎样用ajax实现弹窗登录
ajax+bootstrap优化网页用户体验的步奏
以上就是ajax交互时被报status=parsererror错误如何解决的详细内容。
其它类似信息

推荐信息