当我要求它进行POST时,为什么jQuery会执行Ajax GET

时间:2014-03-06 11:03:28

标签: jquery http http-post http-get

鉴于这个非常简单的HTML代码:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title></title>
        <script src="Scripts/jquery-1.10.2.js"></script>
    </head>
    <body>
        <script>
            $.ajax({
                url: "/MyURL/",
                data: "TEST",
                type: "POST"
            });
        </script>
    </body>
</html>

我用Fiddler观察加载这个页面。

观察到HTTP请求是GET而不是请求的POST。为什么?

3 个答案:

答案 0 :(得分:4)

编辑:这是由jQuery 1.10.2的本地自定义版本引起的错觉


似乎jQuery 1.10.2遇到了这个问题,但它在jQuery 1.11.0中是“固定的”(假设它首先是一个bug)。

幸运的是,这会阻止其他人撕掉他们的头发:)

答案 1 :(得分:1)

因此,您的本地jQuery 1.10.2副本会以某种方式进行修改,可能会覆盖全局ajax选项以使用GET方法生成所有ajax请求。然后,您应该更新您的jq本地副本或使用任何CDN。 ;)

答案 2 :(得分:0)

试试这个

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title></title>
        <script src="Scripts/jquery-1.10.2.js"></script>
    </head>
    <body>
        <script>
        var variable="TEST";
            $.ajax({
                url: "test.php",
                data: ({test:variable}),
                type: "post"
            });
        </script>
    </body>
</html>