我收到错误" 401 Unauthorized"在Chrome和Firefox中, 将带有角度2 CLI的文件上传到apache2-server时。 服务器的后端是PHP。 我已尝试使用三个不同的节点模块,所有模块都表现相同。 我已经在OPTIONS-preflight上得到了错误,
" XMLHttpRequest无法加载(uploadurl)预检的响应包含无效的HTTP状态代码401"。
如果我从其他来源请求(例如" localhost:4200"),则只会发生此错误。 但是当在apache服务器上执行这个项目时,上传工作正常。
所以在localhost上: 不同的是,上传前的所有请求都在请求标头中有cookie。 但不是上传请求。 这是一张图片: headers on the upload-request
到目前为止,我已尝试过三个节点模块:
" withCredentials"上传者本身(例如,来自Valor Software ng-2-file-upload的ng2-file-upload)设置为true。
我也尝试过设置标题X-Requested-With: 'XMLHttpRequest'
。
我已经尝试设置Authorization: Basic
- 标题....仍然是同样的问题。
当我自己OnBeforeFileUpload设置Cookie:
- 标题时,我当然会收到一条错误消息
如果有人知道如何解决这个问题,那会很酷。 我只是到处寻找答案,但没有任何帮助。"拒绝设置不安全的标题Cookie"
修改 Theese标题也在php后端设置:
header("Access-Control-Allow-Origin: http://localhost:4200");
header("Access-Control-Allow-Credentials: true");
header("Access-Control-Allow-Headers: *");
header('Access-Control-Allow-Methods: GET, POST, OPTIONS');
仍然有错误。
答案 0 :(得分:0)
似乎是服务器站点错误。
你的php文件中有以下标题吗?
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, POST');
header("Access-Control-Allow-Headers: X-Requested-With");