未使用Ext.Ajax.request表单上载设置标头

时间:2016-11-28 10:04:45

标签: javascript extjs extjs6 extjs6-modern

我想使用Ext.Ajax.request上传文件。因此,我添加了文件输入字段(form: formId)的id。我还想在请求中添加一些标头(AcceptAuthorization,...),这在我不添加form参数时有效。但是,当设置表单参数时,无论出于何种原因,我的标题都将被忽略。

我使用ExtJs 6.2现代版。

如果将表单参数设置为请求,我该如何添加标题?

Ext.Ajax.request({
            cors: true,
            useDefaultXhrHeader: false,
            method: 'POST',
            url: someUrl,
            headers: {
                'Accept': 'application/json',
                'Authorization': someString,
                'usertoken': someString
            },
            params: {
                name: fileName,
                override: false
            },
            isUpload: true,
            form: formId
        })

1 个答案:

答案 0 :(得分:0)

当您使用表单选项发出请求时,它实际上不是Ajax请求,因此您无法传递额外的标头。

来自Docs

  

文件上传不是使用普通的“Ajax”技术执行的,即不使用XMLHttpRequests执行。而是以标准方式提交表单,其中DOM元素被临时修改以使其目标设置为引用动态生成的隐藏,其被插入到文档中但在收集返回数据后被删除。