使用的Jquery Ajax方法中的方法不允许错误

时间:2014-05-07 09:56:43

标签: javascript jquery asp.net ajax asp.net-mvc

我正在使用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 http://localhost:50500/HomePage/GetAllCategories 405(方法不是   允许)

我的调试器没有使用此方法。

4 个答案:

答案 0 :(得分:0)

您已在控制器中创建了GET方法,并且已在jquery AJAX调用中将方法类型设置为POST。

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

答案 1 :(得分:0)

在ajax调用中设置类型 GET

$.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);
    }

答案 2 :(得分:0)

好的,试试这个。我正在使用getJson调用来尝试获取相同的数据。

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

答案 3 :(得分:0)

只需添加" /"在URL的末尾:

 url: "/HomePage/GetAllCategories/",