Heim >Backend-Entwicklung >C++ >Wie übergebe ich ein JavaScript-Array mithilfe von jQuery AJAX ordnungsgemäß an einen MVC-Controller?

Wie übergebe ich ein JavaScript-Array mithilfe von jQuery AJAX ordnungsgemäß an einen MVC-Controller?

DDD
DDDOriginal
2025-01-21 17:11:13715Durchsuche

How to Properly Pass a JavaScript Array to an MVC Controller Using jQuery AJAX?

Array über jQuery Ajax an die MVC-Controller-Methode übergeben

Beim Versuch, ein Array von Objekten über die ajax()-Funktion von jQuery an eine Controller-Methode zu senden, scheint der empfangene Parameter möglicherweise null zu sein. Um dieses Problem zu lösen, haben wir eine Lösung mit JSON.stringify() implementiert.

Stellen Sie sich das folgende Szenario vor:

<code class="language-javascript">$(document).ready(function () {
    var things = [
        { id: 1, color: 'yellow' },
        { id: 2, color: 'blue' },
        { id: 3, color: 'red' }
    ];

    $.ajax({
        contentType: 'application/json; charset=utf-8',
        dataType: 'json',
        type: 'POST',
        url: '/Xhr/ThingController/PassThing',
        data: JSON.stringify({ 'things': things })
    });
});</code>

Im Controller:

<code class="language-csharp">public class ThingController : Controller
{
    public void PassThing(List<Thing> things)
    {
        // 在此处处理`things`
    }

    public class Thing
    {
        public int Id { get; set; }
        public string Color { get; set; }
    }
}</code>

Wichtige Erkenntnisse aus dieser Methode:

  • contentType und dataType müssen festgelegt werden: Diese Einstellungen sind entscheidend für die Funktion ajax().
  • Korrekte JSON-Stringifizierung: Um ein Array von Objekten zu übergeben, verwenden Sie das JSON.stringify({ 'things': Things })-Format.

Diese Methode ermöglicht die nahtlose Übertragung eines Arrays von Objekten an eine MVC-Controller-Methode über die ajax()-Funktion von jQuery.

Das obige ist der detaillierte Inhalt vonWie übergebe ich ein JavaScript-Array mithilfe von jQuery AJAX ordnungsgemäß an einen MVC-Controller?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn