【发布时间】:2014-08-28 05:53:56
【问题描述】:
我正在尝试访问托管在需要特定标头的子域(即:app.samedomain.com 上的客户端将调用 api.samedomain.com)上的 API 服务(通过 XMLHttpRequest/ajax)出于安全目的进行设置,但我不断收到Access is denied 错误。我发现的所有解决方案都说客户端/最终用户必须将站点添加到“受信任的站点”安全区域,但显然这不是一个真正的解决方案。我需要做什么才能访问带有特定标头的外部网站?
示例代码:
var getUserById = function (user, callback, error) {
$.support.cors = true;
var endpoint = _getApiVersion() + '/person/model/' + user.userId;
var _headers = _setHeaders(endpoint, null, user, 'GET');
$.ajax({
type: 'GET',
beforeSend: function (request)
{
request.setRequestHeader("api-key", _headers['api-key']);
request.setRequestHeader("timestamp", _headers['timestamp']);
request.setRequestHeader("content-md5", _headers['content-md5']);
request.setRequestHeader("content-type", _headers['content-type']);
request.setRequestHeader("signature", _headers['signature']);
request.setRequestHeader("Access-Control-Allow-Origin", "*");
},
url: _getBaseUrl() + endpoint,
data: null,
contentType: 'application/json',
dataType: 'json',
success: callback,
error: error
});
};
提前致谢,
丹
【问题讨论】:
标签: ajax internet-explorer cors