javascript - 如何使用 JavaScript 加载跨域页面

标签 javascript jquery ajax load cross-domain

我的网站上有一个页面(比方说在域 A 上),我想从另一个页面(比如在 域 B.默认情况下,出于安全原因,浏览器会阻止此功能。

据我所知,有几种方法可以做到这一点。

我的问题是:是否还有我可能忽略的其他可能更好的选择?

郑重声明,我正在使用的网站是一个巨大的商业网站,每天有数百万用户。

最佳答案

您可以执行 JSONP、允许 CORS 并使用纯 JSON、使用 DIY JSONP 包装器或使用 JSONP 代理服务。以下是详细的解决方案:JSONP with remote URL does not work

在您的情况下,最简单的选择是推出您自己的 JSONP 代理服务。这是一个演示准系统 PHP 包装器,如果您获取 JSON 字符串,则可以通过 CORS。与 Yahoo 的 YQL 不同,没有捕获,没有限制。

<?php
$callback = isset($_GET["callback"]) ? $_GET["callback"] : "?";

$json = file_get_contents('http://somedomain.com/someurl/results.json');

header('Access-Control-Allow-Origin: *');
header("Content-type: application/json");
echo $callback . "(" . $json . ");";
?>

关于javascript - 如何使用 JavaScript 加载跨域页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29629624/

相关文章:

python - 无法在 View 中获取 Ajax Post 数据

javascript - JS代码未成功查询API

javascript - 单击特定按钮时的确认框

javascript - 如何使用按钮或开关更改整个 css 文件?

javascript - 错误 : Uncaught SyntaxError: Unexpected token [

php - extjs 4 : only display the tree panel node by the specific id

javascript - 使用 javascript 显示和隐藏 Bootstrap 工具提示

javascript - 当用户通过导航向下滚动时显示部分

javascript - 为什么 √ 不允许作为对象名称/字符串名称/函数名称/数字名称?

php - 将变量传递给 .done(function()