jQuery不会发送HTTP_X_REQUESTED_WITH标头?

时间:2012-05-15 23:25:03

标签: ajax django jquery

我有以下页面,并检查请求,我找不到HTTP_X_REQUESTED_WITH标头?我甚至尝试了各种黑客手动,如手动添加标题(这里另一个问题),但无济于事。有人有什么想法吗?

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>

<script type="text/javascript">
        $(function() {
            $("#form").bind("submit", function(e) {
                e.preventDefault()
                $.post("/members/login/", $("#form").serialize(),
                        function(data){
                            alert(data);
                            });
                });
            }); 
    });
</script>

<form id="form" action="" method="post">
    <ul>
       <li><label for="id_email">Email:</label> <input type="text" name="email" value="" id="id_email" /></li>
       <li><label for="id_password">Password:</label> <input type="password" name="password" id="id_password" /></li>
    </ul>
    <input type="hidden" name="next" value="" />
    <input id="submit" type="submit" value="" />
</form>

这应该没关系,但我使用django并与request.is_ajax()核对。我验证了标头不在请求中。这部署在localhost上。

1 个答案:

答案 0 :(得分:1)

你的代码似乎有太多关闭,试试这个:

<script type="text/javascript">
    $(function() {
        $("#form").on("submit", function(e) {
            e.preventDefault()
            $.post("/members/login/", $("#form").serialize(), function(data){
                console.log(data);
            });
         });
    }); 
</script>