Heim  >  Artikel  >  Web-Frontend  >  Was sind die Ursachen für Ajax-Fehler?

Was sind die Ursachen für Ajax-Fehler?

青灯夜游
青灯夜游Original
2022-01-19 14:47:1415576Durchsuche

Ursachen für Ajax-Fehler: 1. Falscher Datentyp; 2. Falsches JSON-Format. 3. Es liegt ein Problem mit der synchronen und asynchronen Einstellung der asynchronen Anforderung vor. 5. Es liegt ein Problem vor ein Problem mit dem Kodierungsformat der übergebenen Parameter; 6. URL Der Pfad enthält chinesische Zeichen usw.

Was sind die Ursachen für Ajax-Fehler?

Die Betriebsumgebung dieses Tutorials: Windows7-System, jquery1.10.2-Version, Dell G3-Computer.

Ein Standard-JQuery-Ajax-Code:

$.ajax({
         type: 'POST',
         url: 'getSecondClassification',
         data: {"sort2": sort2,"sort3":sort3)},
         dataType: 'json',
  //contentType:"utf-8",发送请求的编码方式
  //contentType都是默认的值:application/x-www-form-urlencoded
 
  contentType: 'application/json',
  data: JSON.stringify({a: [{b:1, a:1}]})
 
  success: function (sort) {
    $("#noneSelect").remove();
    var optionstring = "";
    for (var i in sort) {
                     optionstring += "<option value=\"" + sort[i].classId + "\" >" + sort[i].className + "</option>";
               }
               $("#secondtype").html(optionstring);
    $("#build").removeAttr("disabled");
  },
 error: function (XMLHttpRequest, textStatus, errorThrown) {
    //              $("#p_test").innerHTML = "there is something wrong!";
    //                alert(XMLHttpRequest.status);
    //                alert(XMLHttpRequest.readyState);
    //                alert(textStatus);
         }
   });

Jeder Fehler springt zur Fehlerfunktion Wenn der dataType-Typ nicht mit dem übereinstimmt, was im Frontend geschrieben ist, wird ein Fehler angezeigt. Achten Sie auf das Format Manchmal, wenn kein Wert zurückgegeben werden muss, wird das Vorlagenformat verwendet und der Parameter dataType: „json“ festgelegt. Zu diesem Zeitpunkt ist es eine besondere Situation, wenn der Ajax-Wert korrekt übertragen wird tritt auf, wenn im Rückgabeerfolgsstatus 200 ein Fehler gemeldet wird.

2. Async-Anforderungssynchronisierung und asynchrone Probleme Async ist standardmäßig auf true (asynchrone Anforderung) eingestellt, nachdem eine Ajax-Anforderung ausgeführt wurde. Sie verwenden Post Request. Übergeben Sie den Wert an den Hintergrund einer anderen Seite, aber Ihr Ajax wurde bereits ausgeführt, sobald die Seite geladen wurde. Zu diesem Zeitpunkt können die Daten nicht angefordert werden Sie können erwägen, die Ajax-Anfrage in einen synchronen Versuch zu ändern.

3. Daten müssen geschrieben werden

Wenn die Daten leer sind, müssen Sie „{}“ übergeben; andernfalls liegen die zurückgegebenen Daten im XML-Format vor. Und fordert parsererror.data auf:"{}" Die Ausnahme von parsererror hängt auch mit dem Header-Typ zusammen. und Codierungsheader('Content-type: text/html; charset=utf8

');

4. Die übergebenen Parameter

müssen das von ajax unterstützte Codierungsformat sein 5. URL-Pfadproblem

Der Pfad darf keine chinesischen Zeichen enthalten

Verwenden Sie Fehler, um die Fehlermeldung zu debuggen: Sie können ihn benachrichtigen, um zu sehen, was schief gelaufen ist

Spezifische Parameter:

XMLHttpRequest:XMLHttpRequest.readyState: 状态码的意思
0 - (未初始化)还没有调用send()方法
1 - (载入)已调用send()方法,正在发送请求
2 - (载入完成)send()方法执行完成,已经接收到全部响应内容
3 - (交互)正在解析响应内容
4 - (完成)响应内容解析完成,可以在客户端调用了

XMLHttpRequest: XMLHttpRequest.status:textStatus: Fehlergrund

errorThrown: (Optional) Erfasstes Fehlerobjekt

[Verwandte Tutorial-Empfehlung:

AJAX-Video-Tutorial

]

Das obige ist der detaillierte Inhalt vonWas sind die Ursachen für Ajax-Fehler?. 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