asp.net mvc jQuery $ .post工作但$ .get没有

时间:2010-04-23 19:32:02

标签: jquery asp.net asp.net-mvc post get

为什么POST会工作,而不是GET?我没有使用[AcceptVerbs(HttpVerbs.Post)]。我在说这个:

public ActionResult GetTest(string key)
        {
            var test = new { HelpTest = key };
            return Json(test);
        }

当我这样做时它会起作用:

$.post("/Home/GetTest", { key: options.key },
                        function(helpTest) {
                            alert(helpTest.HelpTest);
                        });  

但不是这样:

$.get("/Home/GetTest", { key: options.key },
                            function(helpTest) {
                                alert(helpTest.HelpTest);
                            });  

为什么会这样?使用GET会返回XMLHttpRequest.status 500。我感到困惑的是什么?

1 个答案:

答案 0 :(得分:3)

因为返回json没有返回json来获取请求它是不安全的你应该避免它但是如果你真的想要使用它,请使用json的重载将属性设置为allowget然后它将起作用

return Json(data, JsonRequestBehavior.AllowGet);