Я работал над этим 3 часа и сдался.
Я просто пытаюсь отправить данные в веб-метод asp.net, используя jQuery.
Данные в основном представляют собой пару пар ключ / значение. поэтому я попытался создать массив и добавить пары в этот массив.
Мой WebMethod (aspx.cs) выглядит следующим образом (это может быть неправильно для того, что я создаю в javascript, я просто не знаю):
[WebMethod]
public static string SaveRecord(List<object> items)
.....
Вот мой пример 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);
я получаю ошибку - Invalid JSON primitive: items.
-
так что ... если я сделаю это:
var DTO = {'items': items};
и установите параметр данных следующим образом:
данные: JSON.stringify (DTO)
тогда я получаю эту ошибку:
Cannot convert object of type \u0027System.String\u0027 to type \u0027System.Collections.Generic.List`1[System.Object]\u0027