l'envoi d'objet JSON avec succès à asp.net WebMethod, à l'aide de jQuery

J'ai travaillé sur ce projet pendant 3 heures et ont donné vers le haut.
j'essaye simplement d'envoyer des données à un asp.net méthode web, à l'aide de jQuery.
Les données n'est qu'un ensemble de paires clé/valeur. j'ai donc essayé de créer un tableau et en ajoutant les paires de ce tableau.

Mon WebMethod(aspx.cs) ressemble à ceci (cela peut être mauvais pour ce que je suis en train de construire en javascript, j'ai juste ne sais pas):

   [WebMethod]
    public static string SaveRecord(List<object> items)
    .....

Voici mon exemple de code javascript:

var items = new Array;

    var data1 = { compId: "1", formId: "531" };
    var data2 = { compId: "2", formId: "77" };
    var data3 = { compId: "3", formId: "99" };
    var data4 = { status: "2", statusId: "8" };
    var data5 = { name: "Value", value: "myValue" };

    items[0] = data1;
    items[1] = data2;
    items[2] = data3;
    items[3] = data4;
    items[4] = data5;
Here is my jQuery ajax call:

var options = {
        error: function(msg) {
            alert(msg.d);
        },
        type: "POST",
        url: "PackageList.aspx/SaveRecord",
        data: { 'items': items },
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        async: false,
        success: function(response) {
            var results = response.d;
        }
    };
    jQuery.ajax(options);

j'obtiens l'erreur -Invalid JSON primitive: items.-

...donc si je fais ceci:

var DTO = { 'items': articles };

et définissez le paramètre de données comme ceci:

de données: JSON.stringify(DTO)

puis, j'obtiens cette erreur:

Cannot convert object of type \u0027System.String\u0027 to type \u0027System.Collections.Generic.List`1[System.Object]\u0027
  • Changer votre méthode web pour accepter un simple Objet ancien, puis jetez un oeil à exactement ce que l'objet est, et du casting et de le traiter par la méthode web.
  • Question de bien, vous êtes à l'aide de webmethods, mais pas à l'aide de la classe proxy JavaScript qui est généré automatiquement pour vous?
  • merci Cory, j'ai fait changer hte web méthode d'accepter un objet ordinaire, qui m'a permis de comprendre à quoi s'attendre. merci!
InformationsquelleAutor 29er | 2009-07-17