2

我想使用Ext.Ajax.request. form: formId因此,我添加了文件输入字段 ( )的 id 。我还想在请求中添加一些标头(Accept, Authorization, ...),这在我不添加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
        })
4

1 回答 1

0

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

来自文档

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

于 2017-02-26T12:53:43.263 回答