本地测试正常,放到服务器上提示拒绝访问。 查了之后才发现是由于自己用的$.ajax跨域获取网页内容,出现了问题。指定一个url地址(跨域),用JS的任何方式获取这个url的源代码,请教有什么方法吗?
指定URL不是自己的,不能写任何内容。 
例如:  A站     www.aa.com          B站     www.bb.com   目标URL   www.bb.com/view.php?cate=***&tag=***A站的某文件通过JS获取到目标URL的源代码怎么做到? 多谢多谢
  

解决方案 »

  1.   

    以前用java时候记得java有个方法是可以获取到页面内容
      

  2.   

    jquery jsonp 搜一下吧 如果请求的服务器端代码你不能修改 那你还是省省力气吧 不可能实现的 
      

  3.   

    我就教你用js的方式,解决ajax跨域问题吧。
    1. 使用中间层过渡,也就是传说中的代理的方式:中间过渡,很明显,就是在AJAX与不同域的服务器进行通讯的中间加一层过渡,这一层过渡可以是PHP、JSP、c++等任何具备网络通讯功能的语言,由中间层向不同域的服务器进行读取数据的操作。拿PHP做一个例子,如果需要对不同域的某一个php进行通讯,现在客户端的xmlhttprequest先query本域的一个PHP,然后由本域的这个PHP去和不同域的PHP进行通讯,然后由本域的PHP输出response;2. 使用<script>标签这个方法是利用<script>标签中的src来query一个PHP获得response,因为<script>标签的src属性不存在跨域的问题。举个例子来让大家看得更清楚一点吧:<script LANGUAGE="Javascript" src="" id="get">
    </script>
    <script LANGUAGE="Javascript">
    <!--
    function get(url)
    {
    var obj = document.getElementById("get");
    obj.src = url;
    (obj.readStatus == 200)
    {
    alert(param);
    }
    }
    function query()
    {
    get(get.php);
    }
    //-->
    </script>
    <BODY>
    <INPUT TYPE="button" value="CLICK ME" onclick="query()">
    </BODY>
    </HTML>
      

  4.   

    跨域请使用jsonp方式。但是还要服务端提供配合
      

  5.   

    你自己的服务端写一个代理的 由服务器代理访问远程地址再把响应转发 另一个办法就是
    <script src="你访问的外部网关"></script>但是响应要是json滴 不然好想拿不到数据
      

  6.   

    如果跨域获取网页内容,如果要身份验证,是要把身份传递过去才行,如在使用uploadify时,要加这个参数
    'scriptData': { 'ASPSESSID': '@HttpContext.Current.Request.Form["ASPSESSID"]', 'AUTHID': '@HttpContext.Current.Request.Form["ASP.NET_SessionId"]' }
    我是用ASP MVC3开发的,不知你的开发环境,JS应该都差不多,可能就是参数传递不一样,如果对方不许可你访问或验证模式对你不公开,可能就出现问题了,因为上面这句传参就不确定了
      

  7.   

    这个要看www.bb.com/view.php?cate=***&tag=***支持什么形式的跨域,一般常用的有jsonp,window.name和中间层跨域,具体自己GOOGLE,一大堆。。