我知道AJAX跨域策略。 所以,我不能只叫 www.google 通过AJAX HTTP请求和显示器 结果地方上我的网站。
I know about AJAX cross-domain policy. So I can't just call "www.google" over a ajax HTTP request and display the results somewhere on my site.
我试了一下由于数据类型JSONP,这实际上是将工作,但我得到一个语法错误(显然是因为接收到的数据是不是JSON格式化)
I tried it with dataType "jsonp", that actually would work, but I get a syntax error (obviously because the received data is not JSON formated)
有没有其他的方法可行,从外部域接收/显示数据? iFrame中遵循同样的政策?
Is there any other possiblity to receive/display data from a foreign domain? iFrames follow the same policy?
推荐答案唯一的(简单)的方式使用AJAX是使用服务器端语言作为代理为的Andyê指出。下面是一个小样本如何实现使用jQuery:
The only (easy) way to get cross-domain data using AJAX is to use a server side language as the proxy as Andy E noted. Here's a small sample how to implement that using jQuery:
jQuery的一部分:
The jQuery part:
$.ajax({ url: 'proxy.php', type: 'POST', data: { address: 'www.google' }, success: function(response) { // response now contains full HTML of google } });和PHP的(proxy.php):
And the PHP (proxy.php):
echo file_get_contents($_POST['address']);
就这么简单。要知道,你可以或不能与刮下的数据做什么。
Simple as that. Just be aware of what you can or cannot do with the scraped data.
更多推荐
AJAX跨域调用
发布评论