Rumah >hujung hadapan web >tutorial css >Bagaimanakah Saya Boleh Menghalang Permintaan AJAX jQuery daripada Membeku dengan Tamat Masa?

Bagaimanakah Saya Boleh Menghalang Permintaan AJAX jQuery daripada Membeku dengan Tamat Masa?

Linda Hamilton
Linda Hamiltonasal
2024-12-12 14:47:18268semak imbas

How Can I Prevent jQuery AJAX Requests from Freezing with a Timeout?

Tetapkan Tamat Masa untuk Permintaan AJAX jQuery

Coretan kod yang diberikan menunjukkan permintaan AJAX menggunakan jQuery, tetapi kadangkala fungsi kejayaan tidak mencetuskan dengan pasti . Untuk menangani masalah ini, tamat masa boleh ditetapkan untuk mengendalikan ralat secara automatik jika permintaan tidak selesai dalam masa yang ditetapkan.

Penyelesaian:

Untuk menetapkan tamat masa untuk Permintaan AJAX, gunakan pilihan tamat masa dalam kaedah $.ajax. Pilihan ini menentukan masa dalam milisaat sebelum permintaan itu dianggap tamat masa. Jika permintaan mengambil masa lebih lama daripada masa yang ditentukan, fungsi ralat akan dicetuskan dengan status "tamat masa".

$.ajax({
    url: "test.html",
    error: function(){
        // Will fire when timeout is reached or other error occurs
    },
    success: function(){
        // Do something
    },
    timeout: 3000 // Sets timeout to 3 seconds
});

Dengan menetapkan pilihan tamat masa, permintaan AJAX tidak lagi akan membekukan pelaksanaan selama-lamanya jika pelayan tidak berfungsi atau tidak bertindak balas. Fungsi ralat kemudiannya boleh digunakan untuk mengendalikan tamat masa dan memaparkan mesej ralat atau mengambil tindakan lain yang sesuai.

Selain itu, fungsi ralat boleh menerima parameter textStatus, yang mengandungi jenis ralat yang berlaku. Jika tamat masa telah dicapai, textStatus akan ditetapkan kepada "tamat masa".

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menghalang Permintaan AJAX jQuery daripada Membeku dengan Tamat Masa?. 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