为什么 Ajax http get 不检索 json?
Why the Ajax http get doesn't retrive json?
我需要通过 Ajax 调用从我的 MVC 控制器中检索 JSON 或 HTML。
问题是为什么以下不适用于 GET 请求?
$.ajax({
url: url,
type: "POST", //It works but doesn't work with GET
success: function (data) {
...
}
});
public ActionResult Index()
{
if (User.Identity.IsAuthenticated)
{
...
return View(selectedUser);
}
return Json(new { Error = Messages.AUTHENTICATIONEXPIRED });
}
使用 HTTP GET 它什么也得不到,而是 Json 对象。
Action 方法执行成功。
有我不知道的技术原因吗?有没有另一种方法可以在不进行 POST 调用的情况下使其工作?
谢谢
通过GET返回Json时,必须加上JsonRequestBehavior.AllowGet
:
return Json(new { Error = Messages.AUTHENTICATIONEXPIRED }, JsonRequestBehavior.AllowGet);
更多信息there。
我需要通过 Ajax 调用从我的 MVC 控制器中检索 JSON 或 HTML。 问题是为什么以下不适用于 GET 请求?
$.ajax({
url: url,
type: "POST", //It works but doesn't work with GET
success: function (data) {
...
}
});
public ActionResult Index()
{
if (User.Identity.IsAuthenticated)
{
...
return View(selectedUser);
}
return Json(new { Error = Messages.AUTHENTICATIONEXPIRED });
}
使用 HTTP GET 它什么也得不到,而是 Json 对象。 Action 方法执行成功。 有我不知道的技术原因吗?有没有另一种方法可以在不进行 POST 调用的情况下使其工作? 谢谢
通过GET返回Json时,必须加上JsonRequestBehavior.AllowGet
:
return Json(new { Error = Messages.AUTHENTICATIONEXPIRED }, JsonRequestBehavior.AllowGet);
更多信息there。