Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ajax jQuery赢得';发送HTTP\u X\u请求的\u和头?_Ajax_Django_Jquery - Fatal编程技术网

Ajax jQuery赢得';发送HTTP\u X\u请求的\u和头?

Ajax jQuery赢得';发送HTTP\u X\u请求的\u和头?,ajax,django,jquery,Ajax,Django,Jquery,我有下面的页面,在检查请求时,我找不到HTTP\u X\u请求的\u头?我甚至尝试过各种方法,比如手动添加标题(根据这里的另一个问题),但都没有用。有人有什么想法吗 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> <script type="text/javascript"> $(function() {

我有下面的页面,在检查请求时,我找不到HTTP\u X\u请求的\u头?我甚至尝试过各种方法,比如手动添加标题(根据这里的另一个问题),但都没有用。有人有什么想法吗

<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>

$(函数(){
$(“#表单”).bind(“提交”,函数(e){
e、 预防默认值()
$.post(“/members/login/”,$(“#form”).serialize(),
功能(数据){
警报(数据);
});
});
}); 
});
  • 电邮:
  • 密码:

这应该无关紧要,但我使用django并使用
request.is\u ajax()
进行检查。我验证了头不在请求中。这是部署在本地主机上的

代码中似乎有太多的结尾,请尝试以下操作:

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

$(函数(){
$(“#表格”)。关于(“提交”,职能(e){
e、 预防默认值()
$.post(“/members/login/”,$(“#form”).serialize(),函数(数据){
控制台日志(数据);
});
});
}); 

可能不相关,但您的收尾似乎太多了?并且刚刚在JSFIDLE中测试了您的代码,即使请求失败(当然),头部确实有
X-request-With:XMLHttpRequest
。使用浏览器中的控制台检查标题,您可能会找到它。具有讽刺意味的是,它很重要。我有一个额外分号的问题,因为这是一个jQuery包装的函数调用。内部不应该包含像$(…;)这样的分号。这导致表单通过页面加载提交非ajax,而不是捕获事件。如果你发表评论,我会相信你的回答。