Rumah >hujung hadapan web >tutorial js >Bolehkah jQuery Menghentikan Permintaan Ajax Dalam Penerbangan?

Bolehkah jQuery Menghentikan Permintaan Ajax Dalam Penerbangan?

Barbara Streisand
Barbara Streisandasal
2024-12-26 02:26:14464semak imbas

Can jQuery Abort In-Flight Ajax Requests?

Menggugurkan Permintaan Ajax Tertunggak dengan jQuery

Adakah mungkin untuk membatalkan permintaan Ajax sebelum responsnya diterima? Ya, jQuery menyediakan kaedah mudah untuk tujuan ini.

Dalam kebanyakan kes, kaedah Ajax jQuery mengembalikan objek XMLHttpRequest (atau setara), yang menawarkan kaedah "abort()". Ini membolehkan anda menamatkan permintaan secara pramatang.

Seperti yang ditunjukkan dalam coretan kod:

var xhr = $.ajax({
    type: "POST",
    url: "some.php",
    data: "name=John&location=Boston",
    success: function(msg){
       alert( "Data Saved: " + msg );
    }
});

//kill the request
xhr.abort()

Walaupun dengan versi jQuery yang terkemudian, pendekatan ini kekal berkesan:

1. jQuery 1.5 dan ke atas: Objek yang dikembalikan kini merupakan pembungkus untuk objek XMLHttpRequest asli yang dipanggil jqXHR, yang masih mendedahkan kaedah "abort()".

2. jQuery 3 dan ke atas: Kaedah ajax mengembalikan janji dengan kaedah tambahan, termasuk "abort()", jadi kod yang ditunjukkan di atas masih terpakai.

Nota: Walaupun permulaan andaian, "xhr.abort()" terus berfungsi dalam jQuery 3.x. Untuk butiran lanjut, rujuk repositori jQuery Github.

Atas ialah kandungan terperinci Bolehkah jQuery Menghentikan Permintaan Ajax Dalam Penerbangan?. 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