Rumah >hujung hadapan web >tutorial js >fungsi pengendalian ralat jQuery ajax

fungsi pengendalian ralat jQuery ajax

Christopher Nolan
Christopher Nolanasal
2025-02-23 11:37:39469semak imbas

Penjelasan terperinci mengenai fungsi pengendalian ralat jQuery Ajax dan Soalan Lazim

jQuery Ajax Error Handling Function

Artikel ini akan meneroka fungsi pengendalian ralat jQuery Ajax secara mendalam dan menjawab soalan umum.

Contoh Kod Teras: Gunakan kaedah

untuk mengendalikan ralat Ajax secara global:

.ajaxError()

Kaedah pengendalian ralat yang lebih terperinci, anda boleh mendapatkan kod status berdasarkan objek JQXHR:
<code class="language-javascript">$(document).ajaxError(function(event, request, settings) {
  $("#msg").append("请求页面 " + settings.url + " 发生错误");
});</code>

<code class="language-javascript">$(function() {
    $.ajaxSetup({
        error: function(jqXHR, exception) {
            switch (jqXHR.status) {
                case 0:
                    alert('网络连接失败,请检查网络。');
                    break;
                case 404:
                    alert('请求的页面未找到 [404]。');
                    break;
                case 500:
                    alert('服务器内部错误 [500]。');
                    break;
                case 'parsererror':
                    alert('JSON 解析失败。');
                    break;
                case 'timeout':
                    alert('请求超时。');
                    break;
                case 'abort':
                    alert('AJAX 请求被中断。');
                    break;
                default:
                    alert('未知错误:\n' + jqXHR.responseText);
            }
        }
    });
});</code>
FAQs:

1.

hanya gunakan

kaedah. Ini adalah pengendali acara global yang akan mencetuskan setiap kesilapan Ajax melainkan permintaan itu ditindas secara eksplisit.

.ajaxError()

2.

.ajaxError() kedua -duanya adalah pengendali acara global untuk permintaan Ajax, tetapi mempunyai kegunaan yang berbeza: .ajaxComplete() mencetuskan hanya apabila ralat permintaan AJAX berlaku;

3. .ajaxError() .ajaxComplete()

Tentukan mesej ralat tersuai dalam fungsi kaedah

, contohnya:

4. .ajaxError()

<code class="language-javascript">$(document).ajaxError(function(event, jqxhr, settings, thrownError) {
  alert('自定义错误:' + thrownError);
});</code>
Gunakan kaedah

. Kaedah ini membolehkan anda menentukan fungsi yang dilaksanakan apabila mengembalikan kod status HTTP tertentu.

5.

.statusCode()

Ya, tetapi disebabkan sifat JSONP, keupayaan pengendalian ralat adalah terhad. Oleh kerana permintaan JSONP tidak dimulakan menggunakan XMLHTTPREQUEST, ralat tidak dapat ditangkap menggunakan kaedah

atau .

6. .ajaxError() .error()

Tetapkan pilihan

untuk dalam kaedah .

.ajax() 7. global false

Tetapkan pilihan

dalam kaedah dan gunakan untuk mengendalikan ralat.

.ajax() 8. timeout .ajaxError()

Gunakan kaedah

, yang menyediakan objek acara, objek JQXHR, tetapan Ajax yang digunakan dalam permintaan, dan kesilapan yang dilemparkan, yang membantu mengenal pasti dan debug ralat.

9.

.ajaxError()

Ya, kaedah ini menggunakan kaedah

secara dalaman, jadi pengendali ralat Ajax global akan membakar apabila kaedah ini mempunyai ralat. .load() .get() 10. .post()

Gunakan kaedah .ajaxError(). Ralat parser berlaku apabila pelayan mengembalikan format data yang tidak dapat dikurangkan jQuery. Kesalahan ini boleh diiktiraf dengan memeriksa parameter .ajaxError() dalam kaedah thrownError.

Saya harap maklumat di atas akan membantu anda.

Atas ialah kandungan terperinci fungsi pengendalian ralat jQuery ajax. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn