【问题标题】:asp.net mvc jQuery $.post works but $.get doesn'tasp.net mvc jQuery $.post 有效,但 $.get 无效
【发布时间】:2010-04-23 19:32:02
【问题描述】:

为什么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 返回一个 500 的 XMLHttpRequest.status。我对什么感到困惑?

【问题讨论】:

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


    【解决方案1】:

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

    return Json(data, JsonRequestBehavior.AllowGet);  
    

    【讨论】:

    • 谢谢 - 将 JSON 返回到 GET 请求有什么问题?
    • 对黑客攻击开放如果您有兴趣了解有关安全的更多信息,请观看此视频live.visitmix.com/MIX10/Sessions/FT05
    猜你喜欢
    • 2017-03-19
    • 2018-05-10
    • 1970-01-01
    • 2015-07-04
    • 1970-01-01
    • 2018-12-09
    • 1970-01-01
    • 2017-10-16
    • 2015-09-14
    相关资源
    最近更新 更多