Heim > Backend-Entwicklung > C++ > Wie übergebe ich mit jQuery Ajax erfolgreich ein Array von Objekten an einen MVC-Controller?

Wie übergebe ich mit jQuery Ajax erfolgreich ein Array von Objekten an einen MVC-Controller?

DDD
Freigeben: 2025-01-21 17:26:09
Original
397 Leute haben es durchsucht

How to Successfully Pass an Array of Objects to an MVC Controller Using jQuery Ajax?

Übergabe eines Arrays von Objekten an die MVC-Controller-Methode mithilfe von jQuery Ajax

Wenn Sie versuchen, mithilfe der ajax()-Funktion von jQuery ein Array von Objekten an eine Methode eines MVC-Controllers zu übergeben, kann es vorkommen, dass der Parameter „things“ in der Controller-Methode leer ist. Dieses Problem kann auch dann auftreten, wenn List als Parametertyp verwendet wird.

Die Lösung für dieses Problem lautet wie folgt:

<code class="language-javascript">things = JSON.stringify({ 'things': things });</code>
Nach dem Login kopieren

Indem Sie das Array „things“ auf diese Weise in ein JSON-Objekt einbinden, können Sie das Array erfolgreich an die Controller-Methode übergeben.

Der vollständige Code für diese Implementierung lautet wie folgt:

<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: '/Home/PassThings',
        data: things,
        success: function () {          
            $('#result').html('"PassThings()" successfully called.');
        },
        error: function (response) {          
            $('#result').html(response.responseText); // 使用 response.responseText 获取错误信息
        }
    }); 
});</code>
Nach dem Login kopieren
<code class="language-csharp">public void PassThings(List<Thing> things)
{
    // 处理things数据
}

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

Bitte beachten Sie zwei wichtige Aspekte dieser Implementierung:

  1. Es ist wichtig, die folgenden Einstellungen in der Funktion ajax() zu verwenden:
<code class="language-javascript">        contentType: 'application/json; charset=utf-8',
        dataType: 'json',</code>
Nach dem Login kopieren
  1. Um ein Array von Objekten an eine MVC-Controller-Methode zu übergeben, verwenden Sie das folgende JSON-Format:
<code class="language-javascript">
JSON.stringify({ 'things': things })
```  并且在`failure`回调函数中,使用 `response.responseText` 获取服务器返回的错误信息,以更准确地处理错误。


通过以上步骤,您可以确保将对象数组正确地传递给您的MVC控制器。</code>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie übergebe ich mit jQuery Ajax erfolgreich ein Array von Objekten an einen MVC-Controller?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage