【发布时间】:2012-05-09 03:04:30
【问题描述】:
所以我有一个在其他网站上执行 javascript 的小书签,我想触发一个 403 Authentication Required 标头,一旦它上面的 Cache 按钮被点击。这样,就会出现提示要求他们登录。
问题是我不打算为我正在发出的 ajax 请求提供身份验证标头,同时将 Access-Control-Allow-Origin: 设置为具有 * 值的任何域。我应该明确定义要允许 403 身份验证标头出现在哪个域上,但我不能。
这是我的代码。
.htaccess
header set Access-Control-Allow-Origin: *
#header set Access-Control-Allow-Methods: GET, POST, PUT, DELETE
header set Access-Control-Allow-Headers: Authorization
JQuery
$.ajax({
headers : {
"Authorization" : "Basic TVNF3TQtU1BGMjAx6C12bVxzbW4ydHBvaW50OlF3Z5J0eSEyM6Q1"
},
type: "GET",
url: 'http://desbest.uk.to/clickrobot/favicon.png', //image for testing
crossDomain:true,
xhrFields: {
withCredentials: true
},
//contentType: "application/json; charset=utf-8",
//dataType: "json",
success: function(data) {
alert('ok!');
//formatData(format_type,data);
},
error: function(jqXHR, textStatus, errorThrown) {
alert(textStatus + ' / ' + errorThrown);
}
});
我得到的错误
凭据时不能在 Access-Control-Allow-Origin 中使用通配符 标志为真。
我已经看到 Diigo 小书签可以做到这一点,所以这是可能的,但是怎么做呢?有可能吗?
【问题讨论】:
标签: javascript jquery authentication http-status-code-401 cors