使用csrf进行codeigniter dropzone ajax上传

时间:2016-02-25 10:07:09

标签: jquery ajax codeigniter csrf dropzone.js

我使用dropZone JS jquery插件使用codeigniter上传图片,表单中有一个表单的重置按钮,当用户上传图片时,他可以重置表单进行新上传,但重置后上传时显示一个消息

  

不允许您请求的操作。

顺便说一下,首先上传成功后,该消息失败了 请注意我使用csrf保护

这是dropzone的初始化代码

 $(".dropzone").dropzone({
        url: "Images/up",
        maxFiles: 1,
        maxFilesize: 10, 
        acceptedFiles: 'image/*',
        autoProcessQueue: false,
        autoDiscover: false,
        params: {csrf_token: $.cookie("csrf_value")},
        init: function () {
            this.on("addedfile", function (file) {
                $('#init_empty_msg').addClass('hidden');
            });
        }

    });

1 个答案:

答案 0 :(得分:0)

您可以在所有ajax之前使用$ .ajaxPrefilter()并添加到数据选项csrf标记中的所有ajax。 在此之后,您可以在数据数组csrf数据中进行典型的ajax请求,而不进行声明 和

// for CI 3.0.4
data: {"<?= $this->security->get_csrf_token_name() ?>": "<?= $this->security->get_csrf_hash() ?>"}