使用jQuery文件上传,我将文件上传到第三方服务器,该服务器需要对所有传入请求进行令牌身份验证。在上传之前,浏览器发送OPTIONS请求以检查跨域授权。该请求因401不包含令牌而失败。如何为该请求添加“授权:令牌”标头?
在curl中这有用:
curl -X OPTIONS https://api.example.com -H 'Authorization: Token <TOKEN>'
我尝试了以下三个选项,但没有运气:
$("#file-upload").fileupload({
beforeSend: function(xhr) {
xhr.setRequestHeader("Authorization", "Token " + TOKEN);
},
xhrFields: {
"Authorization": "Token " + TOKEN
},
requestHeaders: {
"Authorization": "Token " + TOKEN
},
});
答案 0 :(得分:0)
为此,远程端点必须显式设置CORS响应头以允许在OPTIONS请求中使用授权:
Access-Control-Allow-Headers: Authorization
如果您尝试上传的远程服务器未设置此标头,则您的跨域AJAX呼叫将无法发送Authorization
请求标头。