日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

Servlet 与 Ajax 交互一直报status=parsererror怎么办

發布時間:2023/12/19 综合教程 32 生活家
生活随笔 收集整理的這篇文章主要介紹了 Servlet 与 Ajax 交互一直报status=parsererror怎么办 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

小編給大家分享一下Servlet 與 Ajax 交互一直報status=parsererror怎么辦,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

原因:servlet 返回的數據不是 Json 格式

1、JS代碼為:

varjsonStr={'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 中代碼為:

protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{
//聚類數量
StringclusterNum=request.getParameter("clusterNum");
//迭代次數
StringiterationNum=request.getParameter("iterationNum");
//運行次數
StringrunTimes=request.getParameter("runTimes");
System.out.println("聚類數量為:"+clusterNum+"---迭代次數:"+iterationNum+"---運行次數:"+runTimes);
PrintWriterout=response.getWriter();
out.write("success");
out.close();
}

4、結果是一直都是進入到 ajax 方法里面的 error,而且status=parsererror

xhr=Object{readyState:4,responseText:"success",status:200,statusText:"OK"}

5、解決辦法:

原因是通過 response 對象返回的數據格式不正確,正確方法

PrintWriterout=response.getWriter();
StringjsonStr="{\"success\":\"OK\"}";
out.write(jsonStr);

可以將返回值拼湊成 JSON 數據格式,然后會不會報status=parsererror

總結

以上是生活随笔為你收集整理的Servlet 与 Ajax 交互一直报status=parsererror怎么办的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。