使用jquery读取给定URL的源代码

时间:2013-12-19 08:08:40

标签: javascript jquery asp.net ajax visual-studio-2010

我有一个网站网址。我的任务是将整页的来源读成变量。 我这样做是为了:

<script type="text/javascript">
    debugger;
    $(documnet).ready(function () {
        var timer =
            $.ajax({ type: 'post', url: 'http://WWW.google.com', data: { content: src } });
        });


    alert(timer);
</script>

目前这不起作用,它没有提取源。如果有任何错误或有任何其他解决方案来完成此任务,请协助。

1 个答案:

答案 0 :(得分:4)

使用.ajax方法无法真正从任意站点读取数据。在浏览器中运行JavaScript时,您拥有same origin policy,它基本上表示您只能从托管该页面的同一服务器读取数据。有很多方法可以使用CORS或JSONP。 CORS要求您正在提取数据的服务器是您的权限(谷歌不会发生这种情况)。 JSONP还需要在服务器上进行配置,并且用于通过json而不是网页返回的数据。

真正唯一可行的方法是让您网站上的服务器端页面执行http请求。您使用.ajax调用服务器上的端点,获取网页服务器端并通过ajax调用返回它。

编辑:根据下面的评论,您要在同一台服务器上加载页面。我查看了你的ajax代码,需要进行调整

<script type="text/javascript">

$(documnet).ready(function () {
    var request = $.ajax({ type: 'GET', url: 'file.html' });

    request.done(function(response){
           //response now has the webpage
         });
    });


</script>

以下是一个工作示例:http://plnkr.co/edit/4h4l1dwPpQyYsOvJTfO1?p=preview