Rumah > hujung hadapan web > tutorial js > Bagaimana untuk Lulus Set Model Kompleks melalui FormData kepada Pengawal MVC?

Bagaimana untuk Lulus Set Model Kompleks melalui FormData kepada Pengawal MVC?

Mary-Kate Olsen
Lepaskan: 2025-01-01 01:00:09
asal
325 orang telah melayarinya

How to Pass a Complex Model Set via FormData to an MVC Controller?

Menukar Set Model kepada FormData dan Mendapatkannya dalam MVC

Melalui set model kompleks melalui formdata boleh menjadi satu cabaran, tetapi menggunakan gabungan siri jQuery dan pengawal MVC mengikat, adalah mungkin untuk mencapai ini dengan berkesan.

JavaScript Pensirian

Untuk menukar set model kepada FormData, anda boleh menggunakan objek FormData jQuery bersama-sama dengan penyirian borang. Jika model terikat pada paparan dalam teg borang, sirikannya menggunakan:

var formdata = new FormData($('form').get(0));
Salin selepas log masuk

Ini akan secara automatik termasuk sebarang sifat model yang terikat pada kawalan borang, termasuk input fail.

Siarkan Data ke Pengawal

Serahkan formdata kepada pengawal menggunakan permintaan AJAX:

$.ajax({
  url: '@Url.Action("YourActionName", "YourControllerName")',
  type: 'POST',
  data: formdata,
  processData: false,
  contentType: false,         
});
Salin selepas log masuk

Dengan menetapkan processData dan contentType kepada false, jQuery akan membenarkan formdata dihantar seadanya.

Pengikat Pengawal

Dalam pengawal anda, anda boleh menentukan kaedah taip kuat yang akan mengikat model set:

[HttpPost]
public ActionResult YourActionName(YourModelType model)
{
}
Salin selepas log masuk

Sistem pengikatan model MVC akan mengisi model secara automatik daripada formdata berdasarkan sifatnya nama.

Peningkatan Data Borang

Jika anda perlu memasukkan sifat bukan model tambahan dalam data borang, hanya gunakan:

formdata.append('someProperty', 'SomeValue');
Salin selepas log masuk

Ini membolehkan anda melanjutkan data borang dengan nilai tersuai yang boleh diakses dalam pengawal.

Atas ialah kandungan terperinci Bagaimana untuk Lulus Set Model Kompleks melalui FormData kepada Pengawal MVC?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan