2012-11-28 3 views
0

У меня есть проект MVC3 с пользовательской аутентификацией формы. я получил аутентификацию работать нормально (я использовал свойство «HttpContext.Current.User.Identity.IsAuthenticated» для того, чтобы убедиться, что он работал)Ajax с пользовательской аутентификацией формы в проекте MVC3

я использую на моей из моих форм в 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 - Not Found ресурс, который вы ищете удален, было изменено его имя , или временно недоступен.

Моя функция контроллера:

[HttpPost] 
    public ActionResult MyControllerFunction() 
    { 
     var MyEntity = MyBusinessLogic.GetByID(1); 
     return Json(MyEntity); 
    } 

(я также пытался добавить [Авторизованный] атрибут и это не помогло)

Это происходит только мне с mhen я вызвать функцию контроллера через ajax. Прежде чем я изменил свою программу для работы с аутентификацией формы, все это сработало. Это как если бы пользователь не был аутентифицирован (хотя он и есть)

Что должно решить эту проблему?

+0

Вы можете показать свой контроллер, пожалуйста? – dove

ответ

0

Я думаю, у вас есть задавалась на этом действии контроллера, где должен быть POST

[AcceptVerbs(HttpVerbs.Post)] 
public JsonResult MyControllerFunction() 
+0

У меня есть атрибут HttpPost на функцию, и, прежде чем я добавил проверки подлинности форм я проверил это, и она работала отлично ... Моя функция: [HttpPost] общественного ActionResult GetOneDoc() { // DO STUFF. .. возвращение Json (MyObject); } –

+0

Вы можете показать вам контроллер в вопросе, пожалуйста? – dove

+0

Нет проблем, только что сделал –