Heim  >  Artikel  >  Web-Frontend  >  So beheben Sie den Fehler „status=parsererror“, der während der Ajax-Interaktion gemeldet wurde

So beheben Sie den Fehler „status=parsererror“, der während der Ajax-Interaktion gemeldet wurde

php中世界最好的语言
php中世界最好的语言Original
2018-04-02 13:33:324819Durchsuche

Dieses Mal zeige ich Ihnen, wie Sie den während der Ajax-Interaktion gemeldeten Fehler „status=parsererror“ beheben können. Das Folgende ist ein praktischer Fall . Werfen wir einen Blick darauf.

Ursache: Die vom Servlet zurückgegebenen Daten sind nicht im Json-Format

1. Der JS-Code lautet:

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. Beachten Sie, dass die obige URL /LSHome/LSHome ist (der Projektname ist LSHome), also konfigurieren Sie das Servlet in der Datei web.xml wie folgt:

<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. Der Code im Servlet lautet:

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. Das Ergebnis ist, dass bei der Eingabe des Ajax immer ein Fehler auftritt Methode und Status=Parsererror

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

5. Lösung: Der Grund dafür ist, dass das Datenformat durch zurückgegeben wurde Antwortobjekt ist falsch. Die richtige Methode ist

Der Rückgabewert kann in das JSON-Datenformat zusammengesetzt werden, und dann wird status=parsererror gemeldet
 PrintWriter out = response.getWriter();
String jsonStr = "{\"success\":\"OK\"}";
 out.write(jsonStr);

Ich glaube, Sie beherrschen das Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der PHP-Chinese-Website, nachdem Sie den Fall in diesem Artikel gelesen haben.

Empfohlene Lektüre:

Wie man Ajax verwendet, um eine Popup-Anmeldung zu realisieren


Ajax+Bootstrap-Schritte zur Optimierung des Webs Benutzererfahrung

Das obige ist der detaillierte Inhalt vonSo beheben Sie den Fehler „status=parsererror“, der während der Ajax-Interaktion gemeldet wurde. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn