jquery - asp.net mvc jQuery $.post 有效,但 $.get 无效

标签 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 返回 500 的 XMLHttpRequest.status。我有什么困惑?

最佳答案

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

return Json(data, JsonRequestBehavior.AllowGet);  

关于jquery - asp.net mvc jQuery $.post 有效,但 $.get 无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2701444/

相关文章:

javascript - 设置Meteor JS Helper的返回值,动态注入(inject)到模板中

JavaScript 关闭已经打开的 div

ASP.Net Identity ASPNET.ApplicationCookie 在我检查时看起来不同

c# - 网格列格式的 Razor 多行语法

javascript - 修改 jQuery 扩展以在对象内推送数组项但扩展其他对象

jquery - 如何将html绑定(bind)到asp.net面板中

c# - 可以制作的最简单的访问计数器是什么?

c# - 使链接从 window.open 弹出窗口中消失

c# - 为什么 Validator.TryValidateObject 速度呈指数级下降

asp.net-mvc - mvc 5 的单声道实现预计何时发布?