跨域$ .ajax setRequestHeader

时间:2011-07-03 22:31:21

标签: php jquery json

  

可能重复:
  Overcoming Cross-Domain issues

是否可以制作跨域$ .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。 我做错了吗?

提前致谢!

3 个答案:

答案 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()参数