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.
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!