没有为' System.String'的类型定义无参数构造函数。在JSON反序列化期间调用c#webmethod

时间:2018-03-19 19:39:52

标签: c# json

我收到此错误'没有为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);
          });
   }
});

有什么想法吗?

1 个答案:

答案 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);
          });
   }
});