2014-05-07 3 views
0

Я использую метод JQuery Ajax с ASP.NET MVC 3.0Метод не разрешены ошибки в JQuery Ajax метод используется

Мой JQuery Кодекс

$.ajax({ 
     type: "POST", 
     url: "/HomePage/GetAllCategories", 
     contentType: "application/json; charset=utf-8",     
     dataType: 'json', 
     success: function (result) { 
      alert(result); 
    } 
}); 

И мой метод Действие

public JsonResult GetAllCategories() 
{ 
    return Json(null, JsonRequestBehavior.AllowGet); 
} 

Я получаю сообщение об ошибке

POST httpa: // loca lhost: 50500/HomePage/GetAllCategories 405 (Method Not Разрешено)

(я использовал протокол HTTPS вместо HTTP здесь просто, чтобы проверить этот вопрос в вопрос поле задать оригинальный URL является с HTTP)

Мои отладчик не ударяет по этому методу, пожалуйста, помогите мне.

+0

Попробуйте добавить это, [AcceptVerbs (HttpVerbs.Post | HttpVerbs.Get)] выше метода getAllCategories. Прислушиваясь к чему-то подобному, я не уверен, что это все исправит. – Nanda

+0

Не работает .... –

+0

Что такое имя контроллера? – Nanda

ответ

0

Вы создали метод GET в контроллере, и вы установили тип метода как POST в свой вызов jQuery AJAX.

$.ajax({ 
     type: "GET", 
     url: "/HomePage/GetAllCategories", 
     contentType: "application/json; charset=utf-8",     
     dataType: 'json', 
     success: function (result) { 
      alert(result); 
    } 
}); 
+0

Я использовал как Get, так и Post, но проблема все равно такая же. –

+0

У вас такая же ошибка в обоих. –

+0

Да, такая же ошибка в обоих случаях –

0

Установить тип GET в вызове Ajax:

$.ajax({ 
     type: "GET", 
     url: '@Url.Action("GetAllCategories","HomePage")' , 
     contentType: "application/json; charset=utf-8",     
     dataType: 'json', 
     success: function (result) { 
      alert(result); 
    } 
}); 

и действие:

[HttpGet] 
public JsonResult GetAllCategories() 
{ 
    return Json(null, JsonRequestBehavior.AllowGet); 
} 

Если хотите сделать с помощью POST то:

$.ajax({ 
      type: "POST", 
      url: '@Url.Action("GetAllCategories","HomePage")' , 
      contentType: "application/json; charset=utf-8",     
      dataType: 'json', 
      success: function (result) { 
       alert(result); 
     } 
    }); 

и действие:

[HttpPost] 
    public JsonResult GetAllCategories() 
    { 
     return Json(null, JsonRequestBehavior.AllowGet); 
    } 
+0

Вероятно, будет AllowPost во втором действии. – Nanda

+0

Я использовал оба, но все-таки получил ту же ошибку –

+0

- это действие, связанное? –

0

Хорошо, попробуйте это. Я использую вызов getJson, чтобы попытаться получить одни и те же данные.

$.getJSON("/HomePage/GetAllCategories",   
      function(returnData) { 
       alert(returnData);   
      }); 
0

Просто добавьте "/" в конце URL:

url: "/HomePage/GetAllCategories/", 
Смежные вопросы