首页新闻招聘找找看知识库
  • 回复:7 浏览:3135 2009-07-09 10:20 来自 Jester Zhu

          当两个域不相同时,在网上查看了一些方法,但是感觉还是不是太好,自己对这方面也没有想出太好的解决办法!

          网上大致就是三种办法:

                1.最不人性的办法—手动设置,可以在浏览器设置里,跨域选择上“打勾”。几个人用可以,太多根本不可行!pass!

                2.在同一个域的服务器端建立一个代理,浏览器向该代理网址发送请求,然后该代理向其他域的网址发请求,在获取回复后,或作处理或按原样发回到浏览器。

    这种办法我不知道好坏,但是直觉告诉我有好多问题,例如安全上,速度上。归根到底还是要依赖于服务器,服务器要是有问题,呵呵,这个办法也就废了!

    pass or (考虑)

                3.使用按需(On-Demand) Javascript 脚本。在页面内动态生成新的<script>,将其src属性指向别的网站的网址,这个网址返回的内容必须是合法的Javascript脚本,常用的是JSON消息。

    这个方法我试过,但是还是不行,另一个域的服务器人家要是设置一些东西,根本不行!pass!

     

    所以只能向大家请教了,解决跨域应该怎么做?最好不要写代理(个人认为在服务器上限制好多,安全隐患也好多!),有没有一种直接用代码就能解决的办法!

  • 依诺
    2009-07-12 02:14 依诺
    麻烦事,不用代理就用IFRAME,隐藏页面。来同步
    第1楼 回到顶楼
  • 艾梦尔
    2009-07-15 17:07 艾梦尔
    用Web Services
    第2楼 回到顶楼
  • Ryan Gene
    2009-07-15 17:09 Ryan Gene
    用ws代理吧
    第3楼 回到顶楼
  • 恐龙♂
    2009-07-20 16:50 恐龙♂
    通过Apache proxy使JavaScript跨域

    1、开启proxy模块
    修改http.conf,去掉以下模块前的#号
    LoadModule proxy_module modules/mod_proxy.so
    LoadModule proxy_connect_module modules/mod_proxy_connect.so
    LoadModule proxy_http_module modules/mod_proxy_http.so
    LoadModule proxy_ftp_module modules/mod_proxy_ftp.so

    2、添加要跨域访问的地址
    A、一般情况在http.conf末尾中添加
    proxypass /xyzabc http://x.y.z/abc
    B、配置了VirtualHost的情况在VirtualHost内的最后加上
    proxypass /xyzabc http://x.y.z/abc
    可以有多个proxypass,以上示例中/xyzabc为本地相对路径,http://x.y.z/abc为远程路径。
    配置好后,通过http://localhot/xyzabc等于访问http://x.y.z/abc
    第4楼 回到顶楼
  • 司徒正美
    2009-08-03 09:22 司徒正美
    window.name
    第5楼 回到顶楼
  • xinshenghu
    2012-02-08 17:58 xinshenghu
    不跨域
    第6楼 回到顶楼
  • Dream7
    2014-06-12 14:32 Dream7
    其实最好还是不跨域
    第7楼 回到顶楼
登录后才能评论,请先登录注册