6

我知道有一个几乎重复的问题,但答案一点也不令人满意。

我需要使用通过 HTTP 运行的 Openstreetmap 服务进行地理编码。

我的网站通过 HTTPS 运行。

从 https 到 http 的 JSONP 请求似乎是不可能的,浏览器(Chrome)抱怨内容不安全。

有什么解决办法吗?

4

3 回答 3

5

浏览器抱怨不安全内容的原因是内容不安全。安全页面的全部目的是所有内容都是安全的,并且可以信任。

您可以在请求不安全内容的安全站点中设置代理页面。在那里,您应该在将内容发送到浏览器之前对其进行验证,以便它实际上是安全的,而不仅仅是假装是安全的。

于 2012-08-31T08:58:03.603 回答
3

如果您想向在 HTTP 下运行的外部服务发出 POST 请求,而初始请求来自 HTTPS,它将始终被认为是不安全的。据我所知,没有办法绕过它。

您可以做的是 POST 到您的后端,该后端将另一个 POST 请求发送到在 HTTP 下运行的服务。从那里返回 HTTP 服务返回的值。

于 2012-08-31T08:59:40.743 回答
3

对于它可能关心的人,这就是我自己整理的方式。

1) 我的 Javascript 代码使用我需要转发到服务的参数调用我服务器上的 AJAX 页面

2) AJAX 页面使用地址通过 CURL 发出请求

3)我清理响应并将其转换为 JSON

4)使用Javascript的成功回调我使用数据

于 2012-08-31T19:05:09.647 回答