0

在我看来,我有:

$.ajax({
    url: '/Profile/TryToGetPersonalInfo',
    type: 'post',
    success: function (outData) {
        if (outData.loggedIn == true) {
            $('#PersonalInfoData').load(outData.data);
        }
    }
});

在我的控制器中,我有:

[HttpGet]
private ActionResult PersonalInfo()
{
    return PartialView();
}

[HttpPost]
public JsonResult TryToGetPersonalInfo()
{
    // loggedIn is temporary
    return Json( new { loggedIn = true, data = this.PersonalInfo() } );
}

为什么 .load() 不做这项工作?我也尝试过 .html(),但仍然没有运气。

请注意,我真的想保留此表单(将 ProfileInfo() 设为私有),并将 TryToGetProfileInfo() 作为帖子,因为我正在使用验证令牌。

4

1 回答 1

0

您正在返回一个 Json 对象。您需要返回 html。在类似的情况下,我将操作返回类型声明为 ActionResult 并返回部分视图。

于 2012-04-04T23:43:31.187 回答