2013-01-10 54 views
0

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

我试着添加授权标题,现在在请求标题中,我看到下面的标题,但即使授权标题后,我仍然有问题。

接受的text/html,应用/ XHTML + xml的,应用/ XML; Q = 0.9,/; Q = 0.8
接受编码的gzip,放气
接受语言的en-US,带; q = 0.5
访问控制请求,他... authenticationindicator,authorizationtoken
访问控制请求,我... POST
授权基本TG9uZG9uOkJiZ0JlbjE4NTk =
缓存控制无缓存
主机AAA .com
产地bbb.com
语用无缓存
代理连接保持
的User-Agent的Mozilla/5.0(Windows NT的6.1; rv:17.0)Gecko/20100101 Firefox/17.0

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

+1

的java != javascript。 – Swapnil

+1

当您从bbb.com(相同的orogin)发出同样的请求时,bbb.com会做出什么回复? 403不是由同源策略限制产生的,而是由服务器在bbb.com上由于其配置等而提供的。 – marekful

+0

您很可能正在寻找JSONP解决方案或设置处理请求的服务器端代理另一个领域。看看这里:http:// stackoverflow。com/questions/2558977/ajax-cross-domain-call –

回答

1

您无法进行跨域AJAX调用。

如果你不想从另一个域获得一些信息作为你自己的信息,你可以用PHP来做它的服务器站点,然后对你自己的php脚本进行ajax调用。

另一种解决方案是使用JSONP

+0

雅,但这里是一个post请求,而不是get,所以我不能使用jsonp – balaji

+1

你可以,启用CORS。 –

1

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