我遇到一个简单的VS2010 .NET 4.0 MVC2应用程序的问题。
我的控制器操作如下所示:
public JsonResult GetJson(string query)
我使用jQuery访问动作如下:
function getJson() {
var postdata = {};
postdata['query'] = $('#query').val();
$.ajax({
type: "POST",
url: '<%= Url.Action("GetJson") %>',
data: JSON.stringify(postdata),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
该操作在jQuery XHR请求时执行,但无论“查询”值是什么,总是为空。我可以在Firebug中查看POST请求/响应,并显示发送到操作的正确JSON字符串。
问题是什么?看起来好像MVC根本没有解析/反序列化JSON输入。
谢谢!
答案 0 :(得分:0)
请尝试这个,因为它应该适合你:
$.ajax({
type: "POST",
url: '<%= Url.Action("GetJson") %>',
data: {query: $('#query').val()},
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
}
});