Gunakan jQuery Ajax untuk memproses tatasusunan objek dalam MVC (kaedah PassThing())
Dalam aplikasi MVC, menghantar pelbagai objek kepada kaedah pengawal menggunakan fungsi ajax() jQuery boleh mencabar. Kaedah PassThing() menjangkakan tatasusunan objek Thing, tetapi tatasusunan itu dihantar sebagai nol.
Masalahnya
Kod yang disediakan memulakan tatasusunan objek Thing dan cuba menghantarnya ke kaedah PassThing() menggunakan JSON.stringify(). Ralat berlaku kerana format data yang dihantar ke pelayan tidak sepadan dengan format yang dijangkakan oleh kaedah PassThing().
Penyelesaian
Untuk menyelesaikan masalah ini, gunakan JSON.stringify({ 'things': things }) untuk menukar tatasusunan kepada objek dengan sifat "things". Struktur objek ini sepadan dengan parameter yang dijangkakan oleh kaedah PassThing(). Berikut ialah kod jQuery yang diubah suai:
<code class="language-javascript">$(document).ready(function () { var things = [ { id: 1, color: 'yellow' }, { id: 2, color: 'blue' }, { id: 3, color: 'red' } ]; things = JSON.stringify({ 'things': things }); $.ajax({ contentType: 'application/json; charset=utf-8', dataType: 'json', type: 'POST', url: '/Xhr/ThingController/PassThing', data: things }); });</code>
Nota lain
Untuk memastikan penghantaran data berjaya:
Atas ialah kandungan terperinci Bagaimana untuk Menyalurkan Array Objek dengan Betul kepada Pengawal MVC menggunakan jQuery Ajax?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!