Rumah > Artikel > rangka kerja php > Pelaksanaan permintaan tak segerak Laravel
Permintaan tak segerak ialah teknologi yang sangat berguna dalam aplikasi web. Dengan melaksanakan permintaan di latar belakang, ia mengelakkan pembaziran masa yang disebabkan oleh menunggu respons pelayan di bahagian hadapan, dan juga meningkatkan pengalaman pengguna. Dalam rangka kerja Laravel, kita boleh menggunakan beberapa kaedah untuk melaksanakan fungsi permintaan tak segerak.
1. Apakah permintaan tak segerak
Permintaan tak segerak ialah teknologi yang menghantar permintaan kepada pelayan tanpa memuat semula seluruh halaman dan memproses permintaan di latar belakang. Teknologi ini boleh digunakan dalam senario yang berbeza, seperti apabila kita perlu memaparkan bar kemajuan tugas tertentu atau memerlukan halaman pembayaran untuk dimuat semula secara automatik supaya pelanggan dapat merasakan kejayaan pembayaran mereka.
2. Cara menggunakan permintaan tak segerak dalam Laravel
1.
Anda boleh menggunakannya dengan mudah dengan jQuery dalam Laravel untuk melaksanakan fungsi permintaan tak segerak. Kita boleh melengkapkan proses ini melalui langkah berikut:
Pertama, kita perlu memperkenalkan fail perpustakaan jQuery. Langkah ini boleh dilakukan dalam pengepala atau di bahagian atas templat HTML kami:
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
Seterusnya, kami perlu menulis kod untuk menghantar permintaan tak segerak. Coretan kod ini boleh disertakan dalam mana-mana fungsi pengendalian acara, seperti selepas pengguna mengklik butang:
$(document).ready(function(){ $('#btn-submit').click(function(e){ e.preventDefault(); $.ajax({ type: 'POST', url: '/payment', data: { 'amount': $('#amount').val(), 'payment_method': $('#payment_method').val(), '_token': $('input[name="_token"]').val() }, success: function(data){ console.log('success'); console.log(data); //在此处将返回的data数据展示在前端页面上 }, error: function(XMLHttpRequest, textStatus, errorThrown) { console.log('error'); console.log(XMLHttpRequest); console.log(textStatus); console.log(errorThrown); } }); }); });
2. Gunakan fungsi baris gilir Laravel untuk melaksanakan permintaan tak segerak.
Laravel dilengkapi dengan sistem baris gilir di bahagian bawah untuk melaksanakan tugas di latar belakang. Dengan menggunakan sistem baris gilir, kami boleh mengelakkan masalah pelanggan menunggu masa yang lama untuk respons pelayan, dan kami juga boleh menguruskan pelaksanaan semua tugas latar belakang untuk penjadualan dan pengoptimuman yang lebih baik.
Seterusnya, kami akan menggunakan sistem baris gilir Laravel untuk menentukan langkah pemprosesan permintaan tak segerak.
Pertama, kita perlu menentukan kelas tugasan baharu. Kelas ini perlu mewarisi kelas tugas Laravel asli dan melaksanakan kaedah handle()
dalam kelas ini. Templat asas boleh kelihatan seperti ini:
namespace AppJobs; use IlluminateBusQueueable; use IlluminateContractsQueueShouldQueue; use IlluminateFoundationBusDispatchable; use IlluminateQueueInteractsWithQueue; use IlluminateQueueSerializesModels; class ProcessPayment implements ShouldQueue { use Dispatchable, InteractsWithQueue, Queueable, SerializesModels; protected $amount; protected $paymentMethod; /** * Create a new job instance. * * @return void */ public function __construct($amount, $paymentMethod) { $this->amount = $amount; $this->paymentMethod = $paymentMethod; } /** * Execute the job. * * @return void */ public function handle() { //在此处执行异步请求所需的所有工作,比如HTTP请求或电子邮件发送。 //处理请求完毕后将结果保存在数据库中,供前端页面读取。 } }
Seterusnya, kita boleh meletakkan logik pemprosesan permintaan tak segerak dalam kaedah handle()
. Dengan melaksanakan tugas ini pada bahagian belakang, anda boleh mengelakkan masalah pengalaman pengguna yang lemah yang disebabkan oleh halaman membeku, dan pada masa yang sama, keseluruhan permintaan tidak akan diperlahankan oleh masa pelaksanaan bahagian belakang.
Akhir sekali, kami boleh mencetuskan tugas ini dalam kaedah pengawal untuk melaksanakan pemprosesan permintaan tak segerak. Contohnya:
public function submitPayment(Request $request) { $amount = $request->input('amount'); $method = $request->input('payment_method'); ProcessPayment::dispatch($amount, $method); //触发异步请求任务 return response()->json(['message' => 'success']); }
3. Ringkasan
Permintaan tak segerak memainkan peranan yang sangat penting dalam pembangunan aplikasi web. Menggunakan teknologi permintaan tak segerak boleh menjadikan aplikasi kami berjalan lebih pantas dan lancar, sekali gus meningkatkan pengalaman pengguna. Dalam rangka kerja Laravel, kita boleh menggunakan kaedah ajax jQuery atau sistem baris gilir Laravel untuk melaksanakan fungsi permintaan tak segerak. Tidak kira kaedah yang anda gunakan, adalah penting untuk diingat: permintaan tak segerak menjadikan aplikasi lebih pantas, lebih cekap dan lebih mesra pengguna. Saya harap artikel ini dapat membantu anda apabila melaksanakan permintaan tak segerak.
Atas ialah kandungan terperinci Pelaksanaan permintaan tak segerak Laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!