Jquery 无法在ASP.NET MVC 3中获取JSON参数

Jquery 无法在ASP.NET MVC 3中获取JSON参数,jquery,asp.net-mvc,json,Jquery,Asp.net Mvc,Json,我在JSON参数方面遇到了一个非常令人伤心的问题,我真的不知道如何解决它 我有一个ASP.NETMVC3应用程序,客户端有JQuery。在MVC方面,我有以下代码: [HttpPost] public void SearchAsync(ServerRequest request) { .... } public JsonResult SearchCompleted() { .... } function

我在JSON参数方面遇到了一个非常令人伤心的问题,我真的不知道如何解决它

我有一个ASP.NETMVC3应用程序,客户端有JQuery。在MVC方面,我有以下代码:

    [HttpPost]
    public void SearchAsync(ServerRequest request)
    {
        ....
    }

    public JsonResult SearchCompleted()
    {
        ....
    }
function doSearch() {

    var page = 1;
    var startDate = $("#startdate-picker").val();
    var endDate = $("#enddate-picker").val();
    var sortingColumn = "Id";
    var type = $("#ordertype-selector").val();
    var user = $("#user-selector").val();

    var request = { Page: page, StartDate: startDate, EndDate: endDate, SortAspect: sortingColumn, OrderType: type, User: user };

    var requestToPost = JSON.stringify(request);

    $("#info-message").show();
    $("#content-table-body").hide();
    $("#page-bar").hide();

    $.post("/Common/Search",
        requestToPost,
        function (data) {
            if (data.Collection) {
                $("#info-message").hide();
                          ...
                }, 500);
            }
        }, "json");
    };
在客户端,我有以下代码:

    [HttpPost]
    public void SearchAsync(ServerRequest request)
    {
        ....
    }

    public JsonResult SearchCompleted()
    {
        ....
    }
function doSearch() {

    var page = 1;
    var startDate = $("#startdate-picker").val();
    var endDate = $("#enddate-picker").val();
    var sortingColumn = "Id";
    var type = $("#ordertype-selector").val();
    var user = $("#user-selector").val();

    var request = { Page: page, StartDate: startDate, EndDate: endDate, SortAspect: sortingColumn, OrderType: type, User: user };

    var requestToPost = JSON.stringify(request);

    $("#info-message").show();
    $("#content-table-body").hide();
    $("#page-bar").hide();

    $.post("/Common/Search",
        requestToPost,
        function (data) {
            if (data.Collection) {
                $("#info-message").hide();
                          ...
                }, 500);
            }
        }, "json");
    };
我在SearchAsync方法上有一个断点,当执行程序在它上运行时,请求时会有数据。ServerRequest标记为[Serializable],JsonValueProviderFactory附加到Factorys集合


有人知道我如何解决这个问题吗?

删除*.stringify()方法解决了这个问题。

你知道
public void SearchAsync
不会将任何JSON返回到你的页面,对吗?2Joey:当然。此类派生自AsyncController。某种长轮询实现。2ek_ny:我试图向参数传递一些数据,但什么也得不到。一堆默认值,你知道。你的路径在
$中吗。post
正确吗?我认为应该是
/common/SearchCompleted
而且您在post请求和操作中发送数据
SearchCompleted()?