Übergeben von Parametern in einen jQuery-ajax-Aufruf ein ASP.NET webmethod

Ich weiß es gibt mehrere threads darüber, aber Sie nicht mir helfen und ich werde wahnsinnig hier!

Möchte ich einige Parameter in einer web-Methode mit jQuery, Ajax.

var paramList = '';
for(i = 0; i < IDList.length; i++){
    if (paramList.length > 0) paramList += ',';  
        paramList += '"' + 'id' + '":"' + IDList[i].value + '"';  
    }
    paramList = '{' + paramList + '}';  
    var jsonParams = JSON.stringify(paramList);


    $.ajax({
        type: "POST",          
        url: "editactivity.aspx/UpdateSequenceNumber",          
        data: jsonParams,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(response) {

        }
    });

In der ajax-Aufruf, wenn ich die Daten paramList bekomme ich die Fehlermeldung: "Ungültiger web service-Aufruf, fehlender Wert für parameter: \u0027a\u0027."

Wenn ich Daten zu jsonParams bekomme ich die Fehlermeldung:

"Cannot convert object of type \u0027System.String\u0027 zu geben
\u0027System.Sammlungen.Generisches.IDictionary`2[System.String,System.Objekt]\u0027"

Wenn ich schreiben paramList es sich in einer korrekten JSON-format wie {"id":"140", "id":"138"}

Wenn ich schreiben jsonParams, es ist in einem falschen format wie "{\"id\":\"140\",\"id\":\"138\"}"

Die web-Methode: (es ist nicht viel, aber..)

[System.Web.Services.WebMethod]
    public static string UpdateSequenceNumber(string a, string b)
    {
         return a+b;
    }

Was mache ich falsch? Kann nicht scheinen, um Holen Sie sich dieses JSON-Sache Recht.

UPDATE:

Nach etwas Hilfe aus der ersten Antwort, die ich jetzt senden {"id":["138","140"]} im AJAX-request.

Die web-Methode nimmt eine Zeichenfolge namens id als parameter statt.

[System.Web.Services.WebMethod]
public static string UpdateSequenceNumber(string id)
{
     return id;
}

Nun bekomme ich eine neue Fehlermeldung:

"Type \u0027System.Array\u0027 wird nicht unterstützt für die Deserialisierung des
ein array ist."

InformationsquelleAutor larschanders | 2010-11-22
Schreibe einen Kommentar