我收到此错误'没有为System.String'的类型定义无参数构造函数。在JSON反序列化期间'当我尝试从JavaScript调用我的C#webmethod时。
C#
using System.Web.Services;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
[WebMethod]
public static string insertValues(string param)
{
JObject data = JObject.Parse(param);
//data manipulation starts here
return "finished";
}
JavaScript的:
$.ajax({ type: 'GET', url: 'https://url_returning_json_object',
success: function (data) {
PageMethods.insertValues(data, function (ex) {
console.log(ex);
});
}
});
有什么想法吗?
答案 0 :(得分:1)
我找到了解决方案:我需要' stringify'在调用webmethod之前我的json对象。
$.ajax({ type: 'GET', url: 'https://url_returning_json_object',
success: function (data) {
//NEW LINE ADDED
retData = JSON.stringify(data);
PageMethods.insertValues(retData, function (ex) {
console.log(ex);
});
}
});