2011-08-31 148 views
0

在我看来,我有:负载MVC PartialView通过Ajax

$.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()作为职位,因为我使用验证令牌。

回答

0

您正在返回一个Json对象。你需要返回HTML。在类似的情况下,我将Action返回类型声明为ActionResult并返回一个局部视图。