是否可以制作跨域$ .ajax setRequestHeader?
我正在尝试这样做:
$.ajax({
url: 'http://remote_url_here',
type: 'GET',
dataType: 'json',
beforeSend: function(xhr) {
xhr.setRequestHeader('Authorization', 'TRUEREST username=xxxx&password=yyyy');
},
success: function() { alert('Sucess')},
error: function() { alert('Error'); },
});
在我的“remote_url”中我正在做一个$_SERVER['HTTP_AUTHORIZATION']
,但它总是空着。我也尝试过查看firebug,但是没有设置标题,如果输入类型:POST。
我做错了吗?
提前致谢!
答案 0 :(得分:10)
如果你控制http://remote_url_here,你可以通过Access-Control-Allow-Origin标题
https://developer.mozilla.org/en/HTTP_access_control
header('Access-Control-Allow-Origin: *');
或
header('Access-Control-Allow-Origin: http://permitted_domain.com');
答案 1 :(得分:0)
由于javascript same-origin policy,您无法执行跨域ajax请求,除非您使用JSONP(我认为这在您的情况下没用)。
希望这会有所帮助。干杯
更新现在您可以使用crossDomain: true
选项。
答案 2 :(得分:0)
将crossDomain:true
添加到您的$.ajax()
参数