Home > Web Front-end > JS Tutorial > body text

How to solve the status=parsererror error reported during Ajax interaction

php中世界最好的语言
Release: 2018-04-02 13:33:32
Original
4734 people have browsed it

This time I will show you how to solve the status=parsererror error reported during Ajax interaction. What are the precautions to solve the status=parsererror error reported during Ajax interaction. The following is a practical case. Let’s take a look. .

Cause: The data returned by the servlet is not in Json format

1. The JS code is:

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("创建任务操作失败!");
      }
    });
Copy after login

2. Note that the above url is /LSHome/LSHome, (the project name is LSHome), so in the web.xml file, configure the Servlet as follows:

<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>
Copy after login

3. The code in the Servlet is:

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();  
  }
Copy after login

4. The result is always an error entering the ajax method, and status=parsererror

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

5. Solution:

The reason is that the data format returned through the response object is incorrect. The correct method

 PrintWriter out = response.getWriter();
String jsonStr = "{\"success\":\"OK\"}";
 out.write(jsonStr);
Copy after login

can piece together the return value into JSON data format , and then will it report status=parsererror

I believe you have mastered the method after reading the case in this article. For more exciting information, please pay attention to other related articles on the PHP Chinese website!

Recommended reading:

How to use ajax to realize pop-up login

##Ajax+bootstrap steps to optimize web user experience

The above is the detailed content of How to solve the status=parsererror error reported during Ajax interaction. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!