代码之家  ›  专栏  ›  技术社区  ›  Herr

使用jQuery发出GET请求,如WGET

  •  0
  • Herr  · 技术社区  · 14 年前


    下载的数据不应该进行任何解析,它应该是原始格式的。


    我做了一些实验,代码成功地完成了一个请求,但是
    似乎没有正确显示结果。

    <html>
        <head>
    
        </head>
    
    
        <h1>Whisper</h1>
    
        <div id="result"></div>
    
    
        <h3>Output</h3>
        <div id="output"></div>
    
    
        <script type="text/javascript" src="jquery-1.4.2.min.js"></script>
        <script type="text/javascript" src="jquery.cookie.js"></script>
        <script type="text/javascript">
    
            $(document).ready(function() {
    
                $.ajax({
    
                    type: "GET",
                    // dataType: "script",
    
                    url: 'http://somesite.com/ajax/chat.php?&test=1&l=1&tt=1',
                    //data: "",
                    beforeSend: function(){
                        // alert( "sending " );
                    },
                    error: function( request,error ){
                        alert("error: " + error + " " + request );
                    },
                    success: function(data, textStatus, XMLHttpRequest) {
    
                        $("#output").html( "output: " + data + "." );
                        $("#result").html( "ok " + data +" "+ textStatus +" "+ XMLHttpRequest);
                        return false;
    
                    }
    
                });
    
            });
    
        </script>
    
    </html>
    

    因为输出不是HTML,所以应该在不进行处理的情况下显示。

    4 回复  |  直到 14 年前
        1
  •  1
  •   Nick Craver    14 年前

    您正试图使用XmlHttpRequest访问远程域上的资源,默认情况下,由于安全原因,XmlHttpRequest被 Same Origin Policy null …这就是SOP的作用,浏览器遵循的规则是阻止任何内容到达JavaScript。

    这里有两个选项:

    • 通过访问数据 JSONP 哪一个 允许(在 完全 <script> 元素并执行GET…它只能执行JavaScript)。我不是facebook API的专家,我不确定你想要的东西是否可以通过这种方式获得。
    • Proxy the request through your own domain 但是,用户将不会登录,因为您在发出请求时没有他们的cookies(同样,出于明显的安全原因)。
        2
  •  0
  •   eruss    14 年前

    我可能遗漏了一些内容,但听起来像是您在jquery中寻找load方法: http://api.jquery.com/load/

        3
  •  0
  •   Thomas    14 年前

    不能向其他域发出ajax请求。解决这个问题的唯一方法是JSONP,这需要服务器端(即facebook端)的合作。

        4
  •  0
  •   George Karpenkov    14 年前