我了解 AJAX 跨域策略.所以我不能通过 ajax HTTP 请求和显示调用www.google"结果在我网站上的某个地方.
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.
我用 dataType "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 E 指出.这是一个如何使用 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 部分:
$.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 跨域调用
发布评论