Rumah >pembangunan bahagian belakang >tutorial php >Mengapa permintaan AJAX saya menyekat satu sama lain, dan bagaimana saya boleh membetulkannya?
Minta Keselarian dalam Permintaan AJAX
Dalam senario tertentu, melaksanakan permintaan AJAX serentak boleh berfaedah untuk meningkatkan pengalaman pengguna atau mengoptimumkan prestasi. Walau bagaimanapun, dalam situasi tertentu, permintaan ini mungkin tersilap menghalang pelaksanaan satu sama lain.
Dilema biasa timbul apabila cuba melaksanakan dua permintaan AJAX secara serentak. Isu ini biasanya menjelma apabila permintaan kedua ditangguhkan sehingga yang pertama selesai, walaupun ia harus dijalankan secara bebas. Ini boleh membingungkan dan mengecewakan, terutamanya jika ia berfungsi sebelum ini.
Punca asas tingkah laku ini selalunya terletak pada penyekatan sesi. Secara lalai, PHP menyimpan data sesi dalam fail. Apabila sesi dimulakan dengan session_start(), fail dibuka untuk menulis dan dikunci untuk mengelakkan pengubahsuaian serentak. Mekanisme penguncian ini memastikan integriti data tetapi secara tidak sengaja mewujudkan kesesakan untuk sesi serentak.
Untuk menyelesaikan isu ini dan membenarkan permintaan AJAX berjalan selari, anda boleh mengubah suai tetapan sesi PHP untuk mengelak daripada menggunakan fail atau menutup sesi menulis secara eksplisit . Pilihan terakhir ditunjukkan dalam coretan kod berikut:
<code class="php"><?php session_start(); // starting the session $_SESSION['foo'] = 'bar'; // Write data to the session if you want to session_write_close(); // close the session file and release the lock echo $_SESSION['foo']; // You can still read from the session.</code>
Melaksanakan perubahan ini akan melepaskan kunci sesi, membolehkan permintaan AJAX serentak diteruskan tanpa gangguan.
Atas ialah kandungan terperinci Mengapa permintaan AJAX saya menyekat satu sama lain, dan bagaimana saya boleh membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!