如何使用没有CORS的JavaScript连接到跨域API

时间:2016-12-07 20:45:47

标签: javascript cors jsonp

我正在寻找一种技巧来访问我无法使用html / javascript访问的服务器上的API。通常浏览器出于安全原因阻止此操作因此谷歌等公共API支持CORS标题,让浏览器知道源可以信任。

我需要解决方案是客户端,因为托管服务器可能无法访问外部API。我无权访问API提供服务器。因此,JSONP和启用CORS头等选项不是可行的选择。

我需要一点创造力;我考虑的选择:

  • 使用c#或任何可以连接到服务器的应用程序构建应用程序,然后打开浏览器。我不喜欢这个选项
  • 在执行服务器连接的页面中加载Java小程序。也不是很好(谁使用java appletsanymore)

提前致谢,

1 个答案:

答案 0 :(得分:0)

您可以创建一个简单的服务器作为代理,为您提供所需的端点。它可以在你可以在同一个域的服务器上托管的任何东西中实现,如PHP,NodeJS等。由于它不能在浏览器中运行,因此访问外部服务器没有问题。

如果您的所有目标设备都支持HTML5,您也可以使用window.postMessage()https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage