我的Ajax Authorization标头遇到了一些困难。我试着这样发送:
$.ajax({
url: query,
type: "GET",
accept: "application/json",
dataType: 'json',
beforeSend: function (xhr) {
alert('1');
var bytes = Crypto.charenc.Binary.stringToBytes("xxxxxxxx:xxxxxxxxx");
alert('2'+bytes);
var bas64 = Crypto.util.bytesToBase64(bytes);
alert('3'+bas64);
xhr.setRequestHeader("Authorization", "Basic " + bas64);
alert('up and awaaaaaaaay');
},
succes: function (result) {
alert('success!');
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.responseText);
//$('#DisplayInfoLoader').html('<span style="color: red;">An Error occured....' + xhr.responseText + '</span>');
//$('#DisplayInfoLoader').fadeOut(3000);
}
});
但是当我尝试代码时...它不会发送标题...手动转到query-url并填写凭据工作...甚至在会话中使用凭据(/ client GET请求)完全发送Authorization标头)访问/ Project URI时不会发送标头....
答案 0 :(得分:2)
解决方案是服务不允许标头。浏览器会删除服务不允许的每个标头。
确保该服务使用 Access-Control-Allow-Headers 标头!这就是我所学到的东西