2016-10-28 3 views
0
// something defined deleteArr and pass values to it 
var postData = { deleteArr: deleteArr }; 
if(deleteArr.length > 0) 
    { 
     $.ajax({ 
      url: "@Url.Action("Delete", "ASZ01")", 
      type: "POST", 
      data: postData, 
      contentType: "application/json; charset=utf-8", 
      success: function (response) { 
       alert("success."); 
      }, 
      error: function (response) { 
       alert(deleteArr[0]); 
      } 
     }); 
     deleteArr.length = 0; 
    } 

Der oben genannte Code ist Javascript. Bis $ .ajax beginnen Ich kann bestätigen, dass Werte im Array im unmittelbaren Fenster korrekt ist, aber wenn es zu einem Fehler kommt: Ich habe "undefiniert". und die folgende ist meine Funktion in der SteuerungWie übergibt man String-Array an Controller mit Ajax?

public void Delete(List<string> deleteArr) 
    { 
     service.Delete(deleteArr); 
    } 

Die zweite Frage ist, dass ich Haltepunkt in dieser Funktion festgelegt, aber es kann nicht mehr aufhören. Ich denke, vielleicht ist meine Ajax-Form falsch?

+0

Bitte beachten Sie [link] (http://stackoverflow.com/questions/309115/how-can-i-post-an-array-of-string-to-asp-net-mvc-controller-without- a-form) –

Antwort

0

Stringify zu JSON, die dataType: 'json' hinzufügen und dann passieren und korrigieren auch Ihre ""

var postData = JSON.stringify({ deleteArr: deleteArr }); 

if(deleteArr.length > 0) 
    { 
     $.ajax({ 
      url: @Url.Action("Delete", "ASZ01"), 
      type: "POST", 
      data: postData, 
      dataType: 'json' 
      contentType: "application/json; charset=utf-8", 
      success: function (response) { 
       alert("success."); 
      }, 
      error: function (response) { 
       alert(deleteArr[0]); 
      } 
     }); 
     deleteArr.length = 0; 
    } 
+0

ist 'datentyp: json' erforderlich. ? –

+0

@Reddy Ich denke ja –

+0

Ich dachte, es war nur erforderlich, wenn der Rückgabetyp vom Server ein JSON sein wird. Für die Weitergabe an den Server denke ich nicht, dass es notwendig ist. –

0

Kleine Änderung Ihrer postData

var postData = { deleteArr: JSON.stringify(deleteArr) }; 

Idee ist Ihre Array-Daten in String-Format, dh zu konvertieren: JSON und die Veröffentlichung auf dem Server, Die Standard-Modell-Mappe von MVC-Framework wird das Teil, um sie in List<string> für Sie

konvertieren
+1

json.stringify() funktioniert! Vielen Dank! – DeAn

Verwandte Themen