【发布时间】:2016-10-21 09:21:20
【问题描述】:
我在前端设置加密的用户名和密码授权,并从服务器获取请求标头响应承载授权。在 ajax 中,我可以在 safari 中正确获取响应头,但在 chrome 和 firefox 中,它就像一个空值。该问题仅在 chrome 和 firefox 中获取不记名令牌。如何解决这些问题?
Ajax 代码,
$.ajax({
type:"POST",
url:url,
dataType: "json",
async:false,
headers:{
'Authorization':'Basic '+btoa(useremail+":"+password)
},
data:'{"datas"}',
success: function (data, status, request, xhr){
alert(request.getResponseHeader('Authorization'));
}
【问题讨论】:
-
是跨域请求吗?您设置
async: false的任何具体原因? -
@fabio.sussetto 是的。这是跨域请求。 async false 没有具体原因。
-
那么您应该删除 async: false :“强烈建议不要将此选项设置为 false(从而使调用不再异步),因为它可能导致浏览器无响应。”
标签: javascript jquery ajax