function s() {
data = "192,273,182,347,13,34,52,2524";
var jsondata = $.toJSON(data);
$.ajax({
type: "POST",
url: "index.aspx/s",
data: jsondata,
contentType: "application/json; charset=utf-8",
dataType: "text json",
beforeSend: function (xhr) {
xhr.setRequestHeader("Content-type",
"application/json; charset=utf-8");
},
success: function (msg) {
if (msg.d == "OK") {
//WIN!
}
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
if (typeof (errorThown) != "undefined")
alert("ERROR: SaveWidgetSettings() " + textStatus + '\n' + errorThrown);
else {
var errdetail = eval("(" + XMLHttpRequest.responseText + ")");
alert("ERROR: SaveWidgetSettings() " + textStatus + '\n' + errdetail.Message);
}
}
});
I debugged the issue to:
cannot convert object of type 'system.string' to type 'system.collections.generic.idictionary 2 system.string system.object '
are the commas messing up the string?
You may need to wrap the value in an object before serializing so ASP.NET knows what the value is called:
ASP.NET often uses key names to determine which argument to assign a value to (assuming
WebMethodwith the URL beingindex.aspx/s):Also, if the goal is a collection,
datacan also be anArray: