我正在使用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(方法不是 允许)
我的调试器没有使用此方法。
答案 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/",