2012-11-28 14 views
0

我有一個帶有自定義表單身份驗證的MVC3項目。 我得到了認證,以做工精細(我用了「HttpContext.Current.User.Identity.IsAuthenticated」屬性,以確保它的工作)在MVC3項目中使用自定義表單身份驗證的Ajax

我對我的形式我一個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); 
    } 

(我也嘗試添加[授權]屬性,並沒有幫助)

它只是發生在我與mhen我所說的控制器的功能通過ajax。在我更改我的程序以使用表單身份驗證之前,它一切正常。這就好像用戶沒有被認證(儘管它是)

什麼應該解決這個問題?

+0

你能向我們展示你的控制器嗎? – dove

回答

0

我想你對此控制器操作指定的GET,這裏是應該是一個POST

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

我對功能的HTTPPOST屬性,在此之前我說的形式驗證我檢查了它和它的工作完美... 我的功能: [HttpPost] 公衆的ActionResult GetOneDoc(){ // 做的東西。 .. return Json(MyObject); } –

+0

你可以在問題中向你展示控制器嗎? – dove

+0

沒問題,剛纔做 –

相關問題