Ich habe ein Skript, das ein Datenarray in JSON wie folgt zurückgibt.POST JSON-Array zu ASP.NET WebMethod
[
{"ItemID":"10319","ItemCode":"ITEM-010318","Qty":"1","custRef":"12 - Mitsubishi Fighter FK61F"},
{"ItemID":"10933","ItemCode":"ITEM-010932","Qty":"1","custRef":"12 - Mitsubishi Fighter FK61F"},{"ItemID":"10537","ItemCode":"ITEM-010536","Qty":"1","custRef":"12 - Mitsubishi Fighter FK61F"},
{"ItemID":"14863","ItemCode":"ITEM-014862","Qty":"1","custRef":"12 - Mitsubishi Fighter FK61F"},
{"ItemID":"14864","ItemCode":"ITEM-014863","Qty":"1","custRef":"12 - Mitsubishi Fighter FK61F"}
]
Diese Daten in einer Variablen cartData
ich dann drücken Sie die Daten auf meine WebMethod über AJAX,
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "OrderFormServices.asmx/AddItemsToCart",
data: JSON.stringify(cartData),
dataType: "json"
});
Meine Web-Methode sieht wie folgt aus
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public void AddItemsToCart(string [] itemID, string [] itemCode, string [] Qty, string [] custRef)
genannt wie folgt gespeichert
Wenn ich jedoch versuche und die Daten POST, bekomme ich einen Fehler auf der Konsole was ich weder Kopf noch Schwanz machen kann! Kann jemand etwas Licht darauf werfen?
Type 'System.Collections.Generic.IDictionary`2[[System.String, mscorlib, Version=4.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089],
[System.Object, mscorlib,
Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]'
is not supported for deserialization of an array.
Danke, habe ich nach Ihrem zweiten Vorschlag bearbeitet und ich bin jetzt mit 'cartData.push ({ 'Itemid': itemIdVal, 'itemCode': itemCodeVal, 'Menge': qtyVal, 'custRef': custRefVal }); 'jedoch nicht zu funktionieren scheint - cartData.push ist keine Funktion ? –
nein das würde nicht funktionieren, es wird so funktionieren: cartData.push ({'itemID': [itemIdVal], 'itemCode': [itemCodeVal], 'Menge': [qtyVal], 'custRef': [custRefVal]}); Stellen Sie außerdem sicher, dass die Parameternamen derselbe Fall wie die Webmethode sind, z. B .: Menge. – MoustafaS
Ich bekomme 'cartData.push' ist keine Funktion? –