使用Ajax调用操作方法

时间:2011-11-02 18:51:11

标签: jquery asp.net-mvc ajax

我尝试了以下解决方案但没有成功。在控制器方法MvcAction中,prs参数始终为null。下面是我用来调用控制器方法的代码。

function getPerson() {
    var jFirstName = '@Model.Person.FirstName';
    var jLastName = '@Model.Person.LastName';
    return { FirstName: jFirstName, LastName: jLastName };
}

var person = getPerson();
var jsonPerson = JSON.stringify(person);

$.post( '@Url.Action("MvcAction", "MvcXontroller")', { prs : jsonPerson },
function( data ) {
    ....
});

动作方法如下所示:

public void MvcAction(Person prs)
{

}

1 个答案:

答案 0 :(得分:1)

data是否为null或者您是否因为路由引擎无法找到MvcAction方法而遇到404错误?

我的猜测是,由于您的返回类型为void,因此结果将始终为null。如果要将数据返回给客户端,请将返回类型更改为JsonResult或类似的内容。

更新

尝试更新$.post()这样的电话:

$.post( '@Url.Action("MvcAction", "MvcXontroller")', JSON.stringify({ prs : person}),
    function( data ) {
        ....
    });

$.post调用之前验证该人是有效的jason对象,其值为First和Last名称。