我尝试了以下解决方案但没有成功。在控制器方法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)
{
}
答案 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名称。