小编典典

AJAX跨域调用

ajax

我了解AJAX跨域策略。因此,我不能仅通过ajax HTTP请求调用“
http://www.google.com ”,并将结果显示在我的网站上。

我使用dataType“ jsonp”进行了尝试,这实际上可以工作,但是出现语法错误(显然是因为接收到的数据不是JSON格式的)

还有其他可能性可以从外部域接收/显示数据吗?iFrame是否遵循相同的政策?


阅读 246

收藏
2020-07-26

共1个答案

小编典典

使用AJAX获取跨域数据的唯一(简便)方法是使用服务器端语言作为代理,如AndyE所指出的。这是一个小示例,说明如何使用jQuery来实现:

jQuery部分:

$.ajax({
    url: 'proxy.php',
    type: 'POST',
    data: {
        address: 'http://www.google.com'
    },
    success: function(response) {
        // response now contains full HTML of google.com
    }
});

和PHP(proxy.php):

echo file_get_contents($_POST['address']);

就那么简单。只要知道您可以或不能使用已抓取的数据即可。

2020-07-26