Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Menggunakan Ajax untuk melaksanakan permintaan tak segerak dalam PHP

Menggunakan Ajax untuk melaksanakan permintaan tak segerak dalam PHP

WBOY
WBOYasal
2023-05-11 15:57:061108semak imbas

Dalam pembangunan aplikasi web moden, Ajax telah menjadi teknologi yang sangat penting Melalui Ajax, anda boleh menghantar permintaan tak segerak ke pelayan tanpa menyegarkan halaman, mencapai kesan penyegaran separa dan pemuatan data yang dinamik. Sebagai salah satu bahasa pembangunan web yang paling popular pada masa ini, PHP juga menyediakan pelbagai fungsi dan perpustakaan kelas untuk menyokong penggunaan Ajax Artikel ini akan memperkenalkan cara menggunakan Ajax dalam PHP untuk melaksanakan permintaan tak segerak.

1. Apakah itu Ajax

Nama penuh Ajax ialah Asynchronous Javascript And XML, iaitu JavaScript dan XML tak segerak. Ia adalah teknologi yang melaksanakan komunikasi tak segerak antara pelanggan dan pelayan, dan merealisasikan penghantaran data dan interaksi melalui objek XMLHttpRequest. Ia boleh menjadikan aplikasi web lebih fleksibel dan interaktif, dapat mengemas kini sebahagian daripada kandungan tanpa menyegarkan keseluruhan halaman, mengurangkan masa menunggu pengguna dan tekanan pelayan. Ajax pada asasnya adalah gabungan teknologi, termasuk HTML, CSS, JavaScript, XML dan teknologi lain Sebagai bahasa skrip sebelah pelayan, PHP boleh bekerjasama dengan kod Ajax untuk mencapai kesan dinamik aplikasi web dan meningkatkan pengalaman pengguna.

2. Gunakan Ajax untuk membuat permintaan tak segerak

Membuat permintaan tak segerak Ajax dalam PHP secara amnya memerlukan langkah berikut:

  1. Buat objek XMLHttpRequest

Dalam JavaScript, kami boleh melaksanakan permintaan tak segerak Ajax dengan mencipta objek XMLHttpRequest Kod khusus adalah seperti berikut:

var xmlhttp;
if (window.XMLHttpRequest) {
    xmlhttp = new XMLHttpRequest();
} else {
    // 兼容早期版本的IE浏览器
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
  1. Hantar permintaan

Selepas mencipta. XMLHttpRequest Selepas objek, kami perlu menghantar permintaan melaluinya Secara amnya, kami akan menghantar permintaan GET atau permintaan POST Kod khusus adalah seperti berikut:

xmlhttp.open("GET","demo.php",true);
xmlhttp.send();

Di sini, kami menggunakan open(). kaedah untuk menentukan jenis permintaan dan URL permintaan dan sama ada untuk menghantar permintaan secara tidak segerak (benar bermakna menghantar permintaan secara tidak segerak), dan kemudian gunakan kaedah hantar () untuk menghantar permintaan.

  1. Terima respons

Apabila permintaan dihantar, objek XMLHttpRequest akan secara automatik mencetuskan acara onreadystatechange Kami boleh mendapatkan data yang dikembalikan oleh pelayan dengan mendengar acara ini , dan Menjalankan pemprosesan yang sepadan.

xmlhttp.onreadystatechange=function()
{
    if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
        // 接收到服务器返回的数据,进行相应的处理
        document.getElementById("demo").innerHTML=xmlhttp.responseText;
    }
}

Di sini, kami mula-mula mengesan keadaan semasa objek XMLHttpRequest melalui atribut readyState Apabila readyState ialah 4, ini bermakna pelayan telah memproses permintaan kami dengan betul dan mengembalikan respons. Seterusnya, kami menggunakan atribut status untuk mengesan sama ada kod status HTTP yang dikembalikan oleh pelayan ialah 200. 200 menunjukkan bahawa permintaan itu berjaya dan kod status lain menunjukkan bahawa terdapat beberapa masalah dengan permintaan tersebut. Akhir sekali, kita boleh mendapatkan data yang dikembalikan oleh pelayan melalui atribut responseText dan memprosesnya dengan sewajarnya.

3. Gunakan jQuery untuk merangkum permintaan Ajax

Jika anda ingin membuat permintaan tak segerak Ajax dengan lebih mudah dan cepat, anda boleh menggunakan fungsi Ajax yang disediakan oleh rangka kerja jQuery. Fungsi Ajax jQuery merangkum dan mengoptimumkan objek XMLHttpRequest, membolehkan kami membuat permintaan tak segerak dengan lebih mudah, mengurangkan jumlah kod dan kemungkinan ralat.

Berikut ialah contoh permintaan jQuery Ajax:

$.ajax({
    type: "POST", // 请求方式,可以是"GET"或"POST"
    url: "demo.php", // 请求的URL地址
    data: {"name": "Jack", "age": 25}, // 发送到服务器的数据
    dataType: "json", // 服务器返回的数据类型
    success: function(data){
        // 请求成功,获取到服务器返回的数据,并进行相应的处理
        console.log(data.name);
    },
    error: function(XMLHttpRequest, textStatus, errorThrown){
        // 请求失败,输出错误信息
        console.log(textStatus);
    }
});

Dalam contoh ini, kami menggunakan fungsi $.ajax() untuk menghantar permintaan tak segerak, yang menerima objek JavaScript sebagai Permintaan konfigurasi. Antaranya, atribut jenis menentukan jenis permintaan, yang boleh menjadi GET atau POST atribut url menentukan alamat URL permintaan; pelayan, kami boleh menentukan "json", "xml" ", "html" dan format lain; atribut kejayaan menentukan fungsi panggil balik apabila permintaan berjaya. Fungsi ini akan dipanggil selepas pelayan bertindak balas dengan jayanya. Kami boleh mendapatkan data dikembalikan oleh pelayan di sini dan memprosesnya dengan sewajarnya; atribut ralat menentukan permintaan Panggilan balik apabila berlaku kegagalan Fungsi ini akan dipanggil selepas respons pelayan gagal.

Ringkasan

Melalui pengenalan di atas, kita dapati bahawa menggunakan Ajax untuk melaksanakan permintaan tak segerak dalam PHP adalah sangat mudah dan fleksibel Sama ada ia dirangkumkan berdasarkan JavaScript asli atau jQuery, ia boleh dilaksanakan untuk fungsi permintaan Asynchronous untuk senario perniagaan yang berbeza. Dalam proses menggunakan Ajax, kita perlu memberi perhatian untuk menguasai prinsip teknikal asas Ajax dan parameter permintaan yang berkaitan supaya ia boleh digunakan secara fleksibel dalam senario sebenar.

Atas ialah kandungan terperinci Menggunakan Ajax untuk melaksanakan permintaan tak segerak dalam PHP. 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