2012-04-05 31 views
0

我想我与其他的网站。在此我的网站应用程序整合将POST请求发送到其它网站代表用户的所以这将设置在用户的浏览器比它的cookie进行身份验证将用户重定向到该站点,以便用户不需要提供认证详细信息。如何使用跨域查询

我如何能实现这一点,因为AJAX不会使呼叫跨域。

回答

0

您仍然可以使用ajax调用,但通过代理解析它!查看此链接了解更多详情。

http://benalman.com/code/projects/php-simple-proxy/docs/files/ba-simple-proxy-php.html

一些调整成是远程PHP文件,你可以把它无需代理工作,但不能在IE浏览器。

我用我的跨域调用,代理应用程序内工作得很好。

小心如果你想传递的链接参数,你将不得不编码为HTML字符是这样的:

/ = %2F 
: = %3A 
& = %26 
(space) = %2520 

否则代理PHP文件将抛出你的错误。

在该网站上有一个工作例子,你可以测试输出。

希望这有助于你在跨域问题。对我来说,它的工作。

+0

但先生在代理的情况下,它将如何工作,因为cookie需要在客户端浏览器中设置 – user1047873 2012-04-05 18:19:11

+0

你有没有尝试过,没有工作? – aki 2012-04-17 15:37:58

0

至于其他的答案提到你可以使用代理服务器或CORS。但请注意,cors与某些较旧的浏览器不兼容。

另一种选择是使用jsonp进行跨域调用。

+0

先生,我可以使用相同的敌人发送post request.if是的,那么你可以请粘贴相同的代码片段 – user1047873 2012-04-05 18:22:55

+0

不,你不能使用jsonp发出请求,它只是获取。但是你可以追加查询字符串参数到请求url,所以你可以发送一小部分这样的数据(这是jQuery在Get Ajax请求中发送数据的功能)。 – Matt27 2012-04-08 11:49:04