2012-08-03 35 views
0

我想成功获取google.com,我不关心我是否使用jquery,我只是想以某种方式获取它(即不使用JavaScript库很好,例如XMLHttpRequest也可以)。这里有一个例子Ajax调用我已经在我的本地机器上把我的控制台从test.html的网页加载的jQuery:是否有可能从jquery加载的任何页面成功的ajax获取请求到google.com?

var url = 'http://google.com'; 
$.ajax({ 
    type: 'GET', 
    url: url, 
    error: function(req, resp) { 
    console.log('Error fetching ' + url); 

    console.log("req:"); 
    console.log(req); 

    console.log("resp:"); 
    console.log(resp);  
    }, 
    success: function(data) { 
    console.log("success! here's the data:"); 
    console.log(data); 
    } 
}); 

你的帮助深表感谢!

+0

你的撇号是作为结束语;或者使用反斜杠('\'')或者在外面使用双引号('“success!这里是...”') – nbrooks 2012-08-03 01:44:02

+0

良好的调用,编辑。现在我只需要在JSHint中制定一条规则,告诉我单引号是首选。 – 2012-08-03 01:48:51

回答

2

由于同源策略,您不能随意抓取其他网站。你将需要建立自己的服务器上做数据抓取(在PHP中,你可以使用file_get_contentscurl),然后该脚本(这是你的域)将成为AJAX调用的目标的中介

+0

哦,我想可能有一些情况是不对的。如果您将此页面转换为本机应用程序(例如在iOS中使用UIWebView),我相信它会作为服务器运行,因此实际上可以直接查询其他URL。这与你的项目有什么关系? – 2012-08-03 01:59:54

+0

我需要chrome扩展才能访问www.google.com,这就是我正在编写的内容。 http://www.html5rocks.com/en/tutorials/cors/#toc-cross-domain-from-chrome-extensions似乎是相关的,并且我已经在manifest.json中包含google.com,但它仍然失败。 – 2012-08-03 03:07:18

+0

这是来自manifest.json的相关部分:https://gist.github.com/ccc35a876087bc638720 – 2012-08-03 03:10:04

相关问题