【发布时间】:2012-12-24 18:29:01
【问题描述】:
我们正在尝试通过 POST 进行跨域 AJAX 调用。如果我们直接尝试从aaa.com 访问bbb.com,它将要求提供凭据。只有在提供凭据后,我们才能访问bbb.com。现在以同样的方式,当对不同的域进行 AJAX 调用时,在这种情况下 bbb.com 我收到 403 禁止错误。
我尝试添加授权标头,现在在请求标头中,我看到了以下标头,但即使在拥有授权标头后,我仍然遇到问题。
接受 text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
接受编码 gzip,放气
Accept-Language en-US,en;q=0.5
Access-Control-Request-He... authenticationindicator,authorizationtoken
访问控制请求我... POST
授权基本 TG9uZG9uOkJiZ0JlbjE4NTk=
缓存控制无缓存
托管 aaa.com
来源 bbb.com
编译指示无缓存
代理连接保持活动
用户代理 Mozilla/5.0 (Windows NT 6.1; rv:17.0) Gecko/20100101 Firefox/17.0
有谁知道我们如何解决 403 禁止问题?
【问题讨论】:
-
当您从 bbb.com(相同的 orogin)发出相同的请求时,bbb.com 会回复什么? 403 不是由同源策略限制产生的,而是由您在 bbb.com 上的服务器提供的,因为它的配置等原因。
-
您可能正在寻找 JSONP 解决方案或设置服务器端代理来处理对其他域的请求。看看这里:stackoverflow.com/questions/2558977/ajax-cross-domain-call
标签: javascript jquery ajax http-headers