尚未发送Ajax授权标头

时间:2012-03-15 14:10:57

标签: jquery ajax authorization http-basic-authentication

我的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时不会发送标头....

1 个答案:

答案 0 :(得分:2)

解决方案是服务不允许标头。浏览器会删除服务不允许的每个标头。

确保该服务使用 Access-Control-Allow-Headers 标头!这就是我所学到的东西