使用像WGET这样的jQuery发出GET请求

时间:2010-10-16 08:09:59

标签: jquery ajax http post get

我想从jQuery调用一个网页,并将内容添加到div中 下载的数据不应该进行任何解析,它应该是原始格式。

我尝试将另一个应用程序集成到我的网站上 我做了一些实验,代码做了成功的请求,但是 似乎没有正确显示结果。

<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 个答案:

答案 0 :(得分:1)

您正尝试使用XmlHttpRequest访问远程域上的资源,默认情况下Same Origin Policy出于安全原因阻止该资源。您确实在提出请求,但您的回复将是null ...这就是SOP的作用,浏览器会阻止任何内容到达您的JavaScript。

这里有两个选项:

  • 通过允许 JSONP访问数据(它以完全不同的方式工作,创建<script>元素并执行GET。 ..只能执行JavaScript)。我不是facebook API的专家,我不确定你所追求的是否也是这样的。
  • Proxy the request through your own domain但是,由于您在发出请求时没有使用Cookie,因此用户不会登录(再次出于明显的安全原因)。

答案 1 :(得分:0)

我可能在这里遗漏了一些东西,但听起来你正在寻找jquery中的load方法: http://api.jquery.com/load/

答案 2 :(得分:0)

您无法向其他域发出Ajax请求。解决这个问题的唯一方法是JSONP,这需要在服务器端(即facebook的一方)进行合作。

答案 3 :(得分:0)

要与Facebook集成,您需要使用facebook API。否则他们会禁止你。