Rumah  >  Artikel  >  pembangunan bahagian belakang  >  **Mengapa Permintaan PATCH dan PUT dengan FormData Gagal dalam Laravel?**

**Mengapa Permintaan PATCH dan PUT dengan FormData Gagal dalam Laravel?**

Barbara Streisand
Barbara Streisandasal
2024-10-24 18:13:46935semak imbas

**Why Do PATCH and PUT Requests with FormData Fail in Laravel?**

Permintaan HTTP PATCH dan PUT dengan FormData dalam Laravel

Dalam aplikasi Laravel RESTful, sering dijumpai permintaan PATCH dan PUT gagal untuk mendapatkan semula data apabila dihantar daripada Posmen menggunakan form-data.

Isunya

Apabila menggunakan form-data, kaedah $request->all() mengembalikan tatasusunan kosong untuk permintaan PATCH dan PUT. Ini menghalang bahagian belakang daripada menerima parameter yang dijangkakan.

Penyelesaian

Untuk menyelesaikan isu ini, penyelesaian digunakan dengan menukar permintaan PUT atau PATCH kepada permintaan POST dalam Posmen:

  1. Dalam Posmen, buat permintaan baharu dan pilih kaedah POST.
  2. Navigasi ke tab "Body" dan pilih "form-data" sebagai format data.
  3. Tambahkan parameter yang dikehendaki dalam medan "Kunci" dan "Nilai".

Dengan mengubah suai jenis permintaan dalam Posmen, data akan berjaya dihantar sebagai permintaan POST, walaupun ia sedang dihalakan sebagai permintaan PATCH atau PUT.

Contoh

Untuk permintaan POST dengan data dihantar melalui borang-data:

Route::post('testimonials/{testimonial}', 'TestimonialController@update');

Apabila menggunakan PATCH atau PUT dengan borang-data dalam Posmen:

// Request will be received as a POST request
Route::patch('testimonials/{testimonial}', 'TestimonialController@update');
Route::put('testimonials/{testimonial}', 'TestimonialController@update');

Nota:

Penyelesaian ini mungkin tidak mematuhi prinsip RESTful, kerana ia secara berkesan mengubah jenis permintaan untuk POST. Walau bagaimanapun, ia menyediakan penyelesaian berfungsi untuk memindahkan data melalui borang-data dengan permintaan PATCH dan PUT.

Atas ialah kandungan terperinci **Mengapa Permintaan PATCH dan PUT dengan FormData Gagal dalam Laravel?**. 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