Dalam pembangunan web moden, Ajax (JavaScript Asynchronous dan XML) semakin kerap digunakan, yang boleh merealisasikan fungsi seperti penyegaran separa halaman web dan interaksi data tak segerak. Dalam proses interaksi Ajax dengan pelayan, beberapa keperluan memerlukan kod JavaScript untuk dilaksanakan selepas permintaan Ajax berjaya Artikel ini akan menganalisis dan menerangkan prinsip pelaksanaan, senario aplikasi dan contoh kod.
1. Prinsip pelaksanaan
Apabila membuat permintaan Ajax, Ajax boleh dirangkumkan melalui perpustakaan alat seperti jQuery Fungsi kejayaan boleh menentukan operasi untuk mendapatkan respons pelayan. kita selalunya kod JavaScript perlu dilaksanakan selepas data dikembalikan:
$.ajax({ url: "/demo/get_data", method: "GET", success: function(data) { // 在这里处理返回的数据 // 执行其他 JavaScript 代码 } });
Walau bagaimanapun, jika sebilangan besar operasi perlu dilakukan dalam fungsi panggil balik kejayaan, atau beberapa operasi perlu diselesaikan secara tidak segerak, maka operasi tak segerak dalam fungsi kejayaan mungkin belum tersedia lagi Apabila ia tamat, kod JavaScript telah mula dilaksanakan, mengakibatkan susunan pelaksanaan kod yang salah dan pelbagai ralat. Dalam kes ini, fungsi panggil balik perlu digunakan untuk melaksanakan pelaksanaan berurutan bagi operasi tak segerak.
2. Senario Aplikasi
Apabila kami perlu menggunakan Ajax untuk mendapatkan beberapa data dan kemudian memaparkannya ke dalam halaman web, kami mesti memastikan Selepas data diperoleh dan diproses, halaman boleh dipaparkan secara normal. Jika anda cuba memaparkan halaman sebelum data Ajax dikembalikan, data mungkin tidak dipaparkan dengan betul.
$.ajax({ url: "/demo/get_data", method: "GET", success: function(data) { // 在这里处理返回的数据 renderPage(data); } }); function renderPage(data) { // 将数据渲染出页面 }
Dalam sesetengah aplikasi, pengesahan log masuk pengguna diperlukan untuk mengakses halaman dan data tertentu. Dalam permintaan Ajax, ia mungkin mengambil sedikit masa untuk menentukan status log masuk dan mengesahkan kebenaran pengguna, jadi adalah perlu untuk memastikan bahawa pengguna log masuk dan mempunyai kebenaran akses sebelum melaksanakan kod JavaScript lain.
$.ajax({ url: "/demo/get_data", method: "GET", success: function(data) { // 在这里处理返回的数据 checkLoginStatus(function() { // 用户已登录 checkUserPermission(function() { // 用户具有访问权限 // 执行其他 JavaScript 代码 }); }); } }); function checkLoginStatus(callback) { // 判断用户是否已登录 // 如果已登录,则执行回调函数callback } function checkUserPermission(callback) { // 判断用户是否具有访问权限 // 如果具有权限,则执行回调函数callback }
3. Pelaksanaan kod
Dalam aplikasi sebenar, susunan pelaksanaan operasi tak segerak selalunya rumit, jadi adalah perlu untuk merangkum fungsi panggil balik untuk mengawal susunan operasi tak segerak. Di bawah ialah contoh mudah yang menunjukkan cara menggunakan fungsi panggil balik untuk melaksanakan kod JavaScript selepas permintaan Ajax.
function getData(callback) { $.ajax({ url: "/demo/get_data", method: "GET", success: function(data) { // 在这里处理返回的数据 callback(data); } }); } // callback1:处理数据并执行下一步操作 function processData(data, callback) { // 在这里处理 data callback(); } // callback2:执行其他 JavaScript 操作 function doSomething() { // 在这里执行 JavaScript 操作 } // 使用 callback 控制异步操作的执行顺序 getData(function(data) { processData(data, function() { doSomething(); }); });
Dalam kod di atas, apabila permintaan Ajax berjaya, fungsi getData dipanggil dan langkah seterusnya bagi operasi tak segerak, processData, dihantar masuk sebagai fungsi panggil balik. Selepas data diproses dalam processData, operasi seterusnya doSomething dihantar kepada processData sebagai fungsi panggil balik, sekali gus mencapai kawalan jujukan bagi operasi tak segerak.
Ringkasan:
Dalam pembangunan sebenar, adalah sangat penting untuk menguasai cara melaksanakan kod JavaScript selepas permintaan Ajax berjaya. Artikel ini memperkenalkan secara ringkas prinsip, senario aplikasi dan kaedah pelaksanaan kod bagi operasi tak segerak. Dengan menulis fungsi panggil balik untuk mengawal susunan pelaksanaan operasi tak segerak, anda boleh memastikan bahawa operasi tak segerak dilaksanakan dalam susunan yang ditentukan dan mengelakkan masalah seperti pelaksanaan kod yang tidak sejajar dan ketidakupayaan untuk mendapatkan data.
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan javascript selepas permintaan ajax berjaya. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!