ホームページ >ウェブフロントエンド >フロントエンドQ&A >ajaxエラーの原因は何ですか?
ajax エラーの原因: 1. dataType タイプが間違っている; 2. json 形式が間違っている; 3. async リクエストの同期および非同期設定に問題がある; 4. data パラメータ値が設定されていない; 5. 渡されたパラメータのエンコード形式に問題がある; 6. URL パスに中国語の文字が含まれています。
このチュートリアルの動作環境: Windows7 システム、jquery1.10.2 バージョン、Dell G3 コンピューター。
標準の jquery ajax コード:
$.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); } });
エラーはエラー関数にジャンプします
例 いくつかのエラーの理由:
1. dataType エラー
型エラー: バックグラウンドから返された dataType 型がフロント デスクによって書き込まれたものと一致しない場合、
## 形式エラー: jquery1.4 以降、json の形式要件は非常に厳しくなり、json 形式エラーもエラーにジャンプします。{"test":1} 形式に注意してください 値の場合は返す必要がない場合もありますが、テンプレート形式に従って dataType: "json" パラメータを設定します; このとき、ajax によって渡された値が正しい場合は、 200 リターン成功ステータスでエラーが報告される特殊な状況である可能性があります。2. 非同期リクエストの同期と非同期の問題
Async のデフォルトは true (非同期リクエスト)、その後に別の Ajax を実行する場合Ajax の場合、async=false を設定する必要があります。たとえば、post リクエストを使用して別のページの背景に値を渡しますが、ページが作成されるとすぐに Ajax がすでに実行されています。がロードされ、バックグラウンドで値の受信が完了すると、現時点ではデータをリクエストできないため、ajax リクエストを同期 try に変更することを検討できます。3. データを書き込む必要があります
データが空の場合は、「{}」を渡す必要があります。それ以外の場合、返されるデータはXML形式であること。そして、 parsererror.data:"{}" というプロンプトが表示されます。 parsererror の例外は、ヘッダー タイプにも関連しています。およびエンコーディング header('Content-type: text/html;charset=utf8');
4. 渡されるパラメータ は次のとおりである必要があります。ajax でサポートされるエンコード形式
5. URL パスの問題パスに中国語の文字を含めることはできませんエラー メッセージをデバッグするには、error を使用します。
アラートを出して何が問題になったのかを確認できます特定のパラメータ:XMLHttpRequest:XMLHttpRequest.readyState: 状态码的意思 0 - (未初始化)还没有调用send()方法 1 - (载入)已调用send()方法,正在发送请求 2 - (载入完成)send()方法执行完成,已经接收到全部响应内容 3 - (交互)正在解析响应内容 4 - (完成)响应内容解析完成,可以在客户端调用了XMLHttpRequest: XMLHttpRequest.status:textStatus: エラーの理由errorThrown: (オプション) キャプチャされたエラー オブジェクト[関連チュートリアルの推奨事項:
AJAX ビデオ チュートリアル]
以上がajaxエラーの原因は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。