跨域AJAX导致403被禁止

时间:2013-01-10 11:19:23

标签: javascript jquery ajax http-headers

我们正试图通过POST进行跨域AJAX调用。如果我们直接尝试从bbb.com访问aaa.com,则会要求提供凭据。只有在提供凭据后,我们才能访问bbb.com。现在以同样的方式,当对另一个域进行AJAX调用时,在这种情况下bbb.com我收到403禁止错误。

我尝试添加授权标头,现在在请求标头中,我看到了下面的标题,但即使在获得授权标题后,我仍然遇到问题。

  

接受text / html,application / xhtml + xml,application / xml; q = 0.9, / ; q = 0.8
  接受编码gzip,deflate
  Accept-Language en-US,en; q = 0.5
  Access-Control-Request-He ... authenticationindicator,authorizationtoken
  Access-Control-Request-Me ... POST
  授权基本TG9uZG9uOkJiZ0JlbjE4NTk =
  缓存控制无缓存
  主持aaa.com
  来源bbb.com
  Pragma no-cache
  代理连接保持活着
  User-Agent Mozilla / 5.0(Windows NT 6.1; rv:17.0)Gecko / 20100101 Firefox / 17.0

有谁知道我们如何解决403禁止的问题?

4 个答案:

答案 0 :(得分:2)

听起来像是Cross Origin问题 - https://developer.mozilla.org/en-US/docs/HTTP/Access_control_CORS

您可能想要添加从bbb.com返回的标题,例如:

Access-Control-Allow-Origin: *

希望有所帮助, 克里斯

答案 1 :(得分:1)

您无法进行跨域AJAX调用。

如果您不想从其他域获取某些信息作为您自己的信息,您可以使用PHP作为服务器站点,然后对您自己的PHP脚本进行ajax调用。

另一种解决方案是使用JSONP

答案 2 :(得分:1)

ajax不允许跨域调用。为此目的使用jsonp。 http://jsonp.jit.su/

答案 3 :(得分:1)

Ajax不允许跨域调用。如果你想这样做,你可以让你的Ajax代码调用PHP(或你选择的任何代码)代码,这些代码可以访问bbb.com,你可以将这些数据返回给客户端。