Apabila melaksanakan panggilan Ajax dengan jQuery, menghadapi arahan ubah hala daripada pelayan boleh membawa kepada akibat yang tidak diingini . Daripada penggantian elemen div yang dijangkakan, anda mungkin mendapati diri anda dengan pengguna secara tidak sengaja merenung halaman log masuk.
Penyelesaian kepada kesusahan ini, seperti yang dicadangkan dalam siaran berwawasan, melibatkan tweak kod status HTTP kepada menjadi 278. Ini menghalang penyemak imbas daripada mengendalikan ubah hala secara automatik. Walau bagaimanapun, untuk pendekatan yang lebih mantap, pertimbangkan untuk menggunakan JSON.
Dalam senario ini, tanpa mengira respons, panggilan Ajax mengekalkan kod status 200. Badan respons mengandungi objek JSON yang dibuat pada pelayan. Objek ini membenarkan JavaScript pihak klien untuk menentukan tindakan yang sesuai berdasarkan kandungannya.
Melaksanakan pendekatan ini meniru logik berikut:
$.ajax({ type: "POST", url: reqUrl, data: reqBody, dataType: "json", success: function(data, textStatus) { if (data.redirect) { window.location.href = data.redirect; } else { $("#myform").replaceWith(data.form); } } });
Objek data, yang terdiri pada pelayan, mengandungi dua komponen utama: data.lencong dan data.form. Kaedah ini menawarkan lebih fleksibiliti dan kejelasan dalam mengendalikan permintaan ubah hala semasa panggilan Ajax.
Atas ialah kandungan terperinci Bagaimana Mengendalikan Lencongan Pelayan dalam Panggilan Ajax jQuery Tanpa Tingkah Laku Tidak Dijangka?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!