我用js访问别人的页面来获取我要的数据(xml格式),用ajax时候,ie会报安全提示。1、从网上查到用IFrame 可以处理,但是我把IFrame 的src指向别人网页的时,用js就会报:拒绝访问。指向自己的网页可以访问。2、如果用JS创建动态脚本的方法,我又无法获取数据,因为它是xml格式的,JS创建动态脚本好像只能获取函数或者参数。
不知道怎么解决啊?请大虾指点,特别是iframe为啥会拒绝访问

解决方案 »

  1.   

    跨域啊~~~~~~~~~~~~~~~~看看这个http://blog.csdn.net/tongdoudpj/archive/2009/05/10/4166096.aspx
      

  2.   


    这个怎么做? php读取jsp页面生成的xml? 
      

  3.   

    跨域访问是不允许的~相关解决方式可以查google
      

  4.   

    最常用的就是jsonp的方式。利用script标签的src属性。或者像唠叨老大说的,通过服务器代理。在本域写个服务器端脚本,用它去跨域请求,接收数据并返回给客户端js一个回调函数。你的本域js去异步请求你本域的服务器端脚本,然后获得应答后就直接执行返回的js代码了。还有用iframe和form来实现的,其实都差不多,都需要客户端js传个回调函数名。
    其中通过服务器代理的方式我觉得最好,因为你的客户端与外域的那个服务器不需要太高的耦合。其他的方法外域的那个服务器端脚本必须按照你的callback(response)的方式给你返回数据才行,而通过你本域的服务器代理,返回什么样的数据格式是由你自己定义的。
      

  5.   

    ajax有关于跨域的解决方案,jquery有一个封装好的
      

  6.   


    就是.ajax对象的datatype=jsonp