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

jQuery:一起发布FormData和CSRF令牌

郏实
2023-03-14
问题内容

data:..下面的线正确吗?我想将表单数据和csrf令牌发布到Django视图函数中。

$('#file-upload').on('change', function () {
    var currentpath = window.location.pathname;
    var formData = new FormData($('form')[0]);
    $.ajax({
            url: currentpath,  //server script to process data
            type: 'POST',
            data: {formData, 'csrfmiddlewaretoken': '{{ csrf_token }}'},
            cache: false,
            contentType: false,
            processData: false
        });
});

问题答案:

您必须将参数添加到FormData对象(使用append),并且像往常一样单独将formdata对象作为data属性传递。

$('#id_image').on('change', function () {
    var currentpath = window.location.pathname;
    var formData = new FormData($('form')[0]);
    formData.append('csrfmiddlewaretoken', '{{ csrf_token }}');
    $.ajax({
            url: currentpath,  //server script to process data
            type: 'POST',
            data: formData,
            cache: false,
            contentType: false,
            processData: false
        });
});


 类似资料:
  • 问题内容: 我有2个html页面。 父页面和子页面。子页面包含一个提交按钮,该按钮在父页面上运行代码以提交Ajax消息。 我使用$ .load()方法加载子页面,然后在单击按钮时运行$ .ajax .POST方法。此post方法仅将JSON字符串传递给Python代码。 当我在除IE以外的任何浏览器上执行此操作时,它工作正常。但是,当我在IE中运行此代码时。我收到有关CSRF令牌的Python /

  • 问题内容: 我该如何发布文件并输入字符串数据?例如,我还有许多其他 隐藏的输入数据 ,需要将它们发送到服务器, html, 使用下面的这段代码,我仅设法发送文件数据 ,而不 发送隐藏的输入数据。 jQuery, server.php 结果, 我希望得到这个结果, 可能吗? 问题答案: 添加了一个循环,并在中将更改为,以供对象引用附加到。

  • 问题内容: 我正在尝试从CSRF保护应用程序(PHP和许多JS)。 我想使用令牌。 AJAX完成了许多操作,因此我必须在Javascript中传递令牌。如果我想为每个会话或每个页面加载生成1个令牌,这很简单- 我生成一个新令牌,将其放在DOM中的某个位置,然后使用Javascript查找并发送到处理端。 但是,如果我想为每个操作使用新令牌怎么办?我正在考虑进行ajax调用以重新生成令牌,然后将结果

  • 我正在使用curl来测试我的Django表单之一。我尝试过的调用(每个都有错误,为了可读性,多行调用): (1): (在cookie中使用http头和)会导致400错误,并且不会返回任何数据。 (2): (如(1)中所示,但标头属性声明中没有空格,cookie中也有)会导致相同的400错误,并且没有返回任何数据。 (3): (只有带有,没有cookie的http头)导致错误代码403,消息为:未设

  • 问题内容: 我正在尝试在我的项目中实现csrf保护,但无法使其与jQuery Ajax一起使用。(不过,它适用于普通的帖子请求) 如果在发送表单之前使用chrome开发工具篡改令牌,则仍会看到“正在处理数据”文本,而不是错误。 app.js send.jade test.js 问题答案: 在有效负载消息中发送CSRF令牌: 为了简化您的工作,我认为您可以创建一个Jquery插件来执行此操作,如下所

  • 问题内容: 因此,我对PHP文件有了一个基本的.ajax()POST方法。 我需要什么安全措施? 周围有几篇文章提到使用隐藏的MD5输入字段,您可以通过AJAX发送该字段并在PHP文件中进行验证。这足够好吗? 问题答案: CSRF的风险在于,外部站点可能会将数据发送到您的站点,而用户浏览器会自动将身份验证cookie与它一起发送。 您需要某种方式来执行接收操作(您的方法正在向其发送POST数据),