jQuery基本认证发送凭据错误
jQuery Basic Auth error sending credentials
有一个问题,我"认为"凭证没有被设置,即使在beforeend中指定。所有设置都是动态的,包括头和基本认证(用于api文档)。
基本值被正确传递,即:"Basic XXXXXXXX"
服务器有Access-Control-Allow-Origin "*"
var $button = $(this).button('loading'),
$parent = $(this).parents('.api-test-response:first'),
$data = $('.api-test-data',$parent),
headers = {};
$('.api-test-headers tr',$parent).each(function(){
if($('.header-toggle', this)[0].checked && $('input.api-test-header-key',this).val() != ""){
headers[$('input.api-test-header-key',this).val()] = $('input.api-test-header-value',this).val();
}
});
$.ajax({
async: false,
cache: false,
crossDomain: true,
headers: headers,
beforeSend: function(xhr) {
if(headers['Authorization']){
xhr.withCredentials = true;
xhr.setRequestHeader('Authorization', headers['Authorization']);
}
return true;
},
url: this.dataset.url,
method: this.dataset.method || 'get',
dataType: this.dataset.type || 'json',
data: $data[0] ? $data[0].value : '',
success: function(data, status, jqXHR){
$('pre', $parent).removeClass('hide').find('code').html( !data ? status : data instanceof Object ? syntaxHighlight(data) : data );
},
error: function(jqXHR, status, error){
$('pre', $parent).removeClass('hide').find('code').html( '<div class="badge badge-important">'+ jqXHR.status +'</div> ' + (jqXHR.responseText != '' ? jqXHR.responseText : status + ' ' + error) );
}
})
.always(function (jqXhr) {
$button.button('reset');
$("body").scrollspy('refresh');
})
chrome出现错误:
OPTIONS URL 401 (Unauthorized)
XMLHttpRequest cannot load URL. Invalid HTTP status code 401
Response : No Authorisation Provided
原来是浏览器预飞行请求(选项)不包含认证头信息的问题,因此java服务失败。通过捕获并忽略选项请求解决了这个问题。
相关文章:
- Node.js v6.2.0类扩展不是函数错误
- Jquery菜单操作不稳定,定位不正确,存在一般错误
- document.open/document.write没有正确地清除chrome中的文档——这是chrome的错误吗
- 试图在引导模式内动态生成图表,得到offsetWidth错误
- 为什么会出现错误;未捕获的类型错误:undefined不是函数;
- 我如何修复包含在captcha的addthis中的错误
- 同样,同样的错误'ahorcado.js:26未捕获类型错误:无法读取属性'beginPath'
- 节点.js,快递,护照认证“错误请求”
- jQuery基本认证发送凭据错误
- AWS Cognito未认证登录错误(窗口未定义)[JS]
- 在视图中显示passport.js认证错误信息
- 快递和护照错误:未知的认证策略“登录”
- Angular 2 - Twitter搜索api -仅应用程序认证错误400
- 401未经授权的错误读取Azure移动服务表作为认证的用户(Javascript)
- 使用POST的NodeJS express认证返回错误,在发送后不能设置报头
- 绑定LDAP服务器时,ldapjs认证错误
- 如何使用firebase认证检索和处理重定向错误
- Firebase项目导致“认证/网络请求失败”;登录错误
- 上传用于认证的cordova包时出现验证错误
- Google+账户认证错误