2

如何对期望 a 的 a进行AJAX呼叫?MVC Controllerdynamic object

这是我的尝试:

public JsonResult Test(dynamic someObject)
{
    return;
}


$.ajax({
     type: 'GET',
     url: '/home/test',
     data: JSON.stringify( { test: 1, test2: 2 } ),
     contentType: 'application/json',

     success: function (data) {
         alert(data);
     },
     error: function (error, data) {
         alert("something went wrong: " + error );
    }
});

但我只得到 {object} 作为someObject.

4

1 回答 1

2

这是不可能的,因为 MVC 无法反序列化它不知道其类型的对象。

我建议将数据作为 JSON 字符串传递,然后对其进行反序列化。

public JsonResult Test(string someObject)
{
    dynamic y = new JavaScriptSerializer().Deserialize<dynamic>(someObject);
    return;
}

JavaScriptSerializer 可以在 System.Web.Extensions 中找到

于 2013-10-29T19:57:35.323 回答