我有一个带有自定义表单身份验证的 MVC3 项目。我的身份验证工作正常(我使用“HttpContext.Current.User.Identity.IsAuthenticated”属性以确保它正常工作)
我在我的表单中使用了 Ajax:
$(document).ready(function () {
$.ajax({
url: '/MyPages/MyControllerFunction',
type: 'POST',
success: function (result) { $('#MyJavaTemplate').tmpl(result).appendTo('#MyHtmlTable'); },
error: function (result) {
$('#errorDisplay').html(result.responseText);
}
})
});
当我到达这个页面时(并且 ajax 应该调用这个控制器的函数)我得到这个错误:
HTTP 错误 404.0 - 未找到 您要查找的资源已被删除、名称已更改或暂时不可用。
我的控制器功能:
[HttpPost]
public ActionResult MyControllerFunction()
{
var MyEntity = MyBusinessLogic.GetByID(1);
return Json(MyEntity);
}
(我也尝试添加 [Authorized] 属性,但没有帮助)
当我通过ajax调用控制器的函数时,它只会发生在我身上。在我更改我的程序以使用表单身份验证之前,这一切都有效。就好像用户没有经过身份验证(即使它是)
应该怎么解决这个问题?