FineUploader - 在标头中添加身份验证

Pen*_*eng 8 javascript fine-uploader

我在跨域上传项目中使用FineUploader 3.7.在将代码移动到具有简单身份验证的客户端DEV服务器之前,一切都很好.当预检请求发送到服务器时,有没有办法在表单中嵌入身份验证信息?

我试图在头文件中嵌入基本身份验证,但不起作用.请参考以下代码:

$.ajaxSetup({
    headers: {
        'Authorization': "Basic YZVjaGFmbWluOkNieWxjBTY3"
    },
    beforeSend: function (jqXHR, settings) {
        jqXHR.setRequestHeader('Authorization', 'Basic YZVjaGFmbWluOkNieWxjBTY3');
    }
});
Run Code Online (Sandbox Code Playgroud)

甚至更多,我试图设置自定义标题,没有运气:

var manualuploader = new qq.FineUploader({
  customHeaders: {
    'Authorization': 'Basic YXVjaGFkbWluOkNieWxjZTY3'
  },....
Run Code Online (Sandbox Code Playgroud)

Ray*_*lus 13

您的customHeaders选项未正确定义. customHeadersrequest选项的属性,如request选项文档中所述.

您的Fine Uploader集成代码应如下所示:

var manualuploader = new qq.FineUploader({
    request: {
        endpoint: "path/to/your/server",
        customHeaders: {
            "Authorization": "Basic YXVjaGFkbWluOkNieWxjZTY3"
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

另外,请记住,jQuery ajaxSetup对Fine Uploader的ajax/xhr调用没有影响.Fine Uploader在内部完全不使用jQuery.Fine Uploader提供的可选jQuery插件简单地包装了原生javascript库,通过支持与jQuery和jQuery插件相关的语法,可以轻松地将其用作jQuery插件.

此外,请注意,这些标头不会与IE9及更早版本中的上传请求一起传递,因为IE9及更早版本不支持通过ajax/xhr上传.在这些浏览器中,会提交一个以iframe为目标的表单.在表单提交的情况下,无法将自定义标头与请求关联.