当前位置: 首页 > 面试题库 >

jQuery + AJAX + Django = CSRF?

裴承安
2023-03-14
问题内容

我想通过AJAX发送登录数据来对用户进行身份验证,但是由于CSRF,这是不可能的。您能否告诉我要添加到代码中以使其正常工作的内容?

我的JavaScript文件:

$("#login").live("click", function() {
    var username = $(".login_username").val();
    var password = $(".login_password").val();

    $.ajax({
        url: "/login",
        type: "POST",
        data: {
            username: username,
            password: password
        },
        cache: false,
        success: function(tekst) {
            alert(tekst);
        }
    });
});

问题答案:

这里介绍一种方法。

它包括在每个ajax请求上添加X-CSRFToken标头。

这是通过挂钩jQuery.ajaxSend事件来完成的,因此所有操作都是自动完成的(您只需复制并粘贴其代码,并在发出第一个ajax请求之前运行一次)。



 类似资料:
  • 问题内容: 这可能是基本的,但是我花了两天时间,阅读了无数教程,但仍然无法正常工作。为简单起见,我尝试完成一项基本任务只是为了看它能起作用。我想向我的捐赠视图发送一个ajax调用。我看到它成功通过,但是我期望我的模板也将更新为“ TRUE”,但仍为“ FALSE”。我有任何帮助或建议。 我的jQuery … 这是我的看法 我的模板包括这个… 更新/解决方案 就像在此问题的评论中提到的那样,我没有对

  • 问题内容: 我已经尝试上传一个简单的文本文件了几个小时,但似乎仍然无法正常工作。 我不断收到无效的表格,说我缺少“ file_source”。 为什么“ file_source”没有发布? 我还可以发送“ file_source”,但是它仍然说它丢失了。应该为Django FileFiled提供哪种类型的元素? Django表格: Django模板(呈报形式): jQuery / Ajax上传:

  • 问题内容: 我正在尝试使用AJAX和JQuery(在Django中)刷新页面的特定部分。如何获取仅重新显示div而不重新显示整个页面的信息。 这是我的看法。 当前,它将整个html页面放入#tag_page div中。我希望它用新的#tag_page div替换旧的#tag_page div。如果替换为它,则将整个页面刷新到应有的状态,但是我认为刷新整个页面是一种浪费。 如果有更好的方法,请告诉我

  • 问题内容: 我正在尝试在Django中使用jQuery / AJAX发布数据,并且遇到了麻烦。当我运行下面的代码并单击“测试”按钮时,整个页面将再次重新加载,这不是我想要的(这就是我使用AJAX的原因)。 我也无法确认AJAX请求正在进入Django视图。 编辑:我对return false和进行了编辑。无法加载新页面,但仍无法在该字段中看到更新的文本。我不确定是否正在发送数据。我在控制台中看到:

  • 前言 相信很多有一定前端经验的同学肯定听说过 jQuery,并且稍有研究的人肯定也知道 jQuery 提供了 Ajax 系列的工具方法。 事实上,市面上有各种各样的 Ajax 类库可以供我们使用,它们更加健壮、更加成熟、并且设计也更为合理。在我们在实际开发的过程中,我们并不直接使用 XMLHttpRequest,而是会使用这些封装好的经得起考验的类库,来为我们的程序提供服务,让我们的开发者更加专注

  • 问题内容: 我已经检查了很多有关django AJAX表单的教程,但是每个教程都告诉您一种实现方法,它们都不是简单的,而且由于我从未使用过AJAX,所以我有点困惑。 我有一个名为“ note”的模型,它的模型形式,并且在模板内,我需要每次note元素发送stop()信号(来自jQuery Sortables)时django更新对象。 我当前的代码: views.py JavaScript: 当前代