MVC2 JSON输入

MVC2 JSON输入,json,asp.net-mvc-2,Json,Asp.net Mvc 2,我对一个简单的VS2010.NET4.0MVC2应用程序有一个问题 我的控制器操作如下所示: 公共JsonResult GetJson(字符串查询) 我使用jQuery访问操作,如下所示: 函数getJson(){ var postdata={}; postdata['query']=$('#query').val(); $.ajax({ 类型:“POST”, url:“”, 数据:JSON.stringify(postdata), contentType:“应用程序/json;字符集=u

我对一个简单的VS2010.NET4.0MVC2应用程序有一个问题

我的控制器操作如下所示:


公共JsonResult GetJson(字符串查询)

我使用jQuery访问操作,如下所示:


函数getJson(){
var postdata={};
postdata['query']=$('#query').val();
$.ajax({
类型:“POST”,
url:“”,
数据:JSON.stringify(postdata),
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”,
成功:函数(msg){

该操作是在jQuery XHR请求时执行的,但无论“query”值是什么,都始终为空。我可以在Firebug中查看POST请求/响应,它显示发送给该操作的正确JSON字符串

问题可能是什么?看起来MVC根本没有解析/反序列化JSON输入


谢谢!

请尝试此功能,因为它应该适合您:

$.ajax({
    type: "POST",
    url: '<%= Url.Action("GetJson") %>',
    data: {query: $('#query').val()},
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function (msg) {
    }
});
$.ajax({
类型:“POST”,
url:“”,
数据:{query:$('#query').val()},
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”,
成功:功能(msg){
}
});