【发布时间】:2012-08-26 01:42:18
【问题描述】:
我知道有一个几乎重复的问题,但答案根本不令人满意。
我需要使用通过 HTTP 运行的 Openstreetmap 服务进行地理编码。
我的网站通过 HTTPS 运行。
似乎无法从 https 到 http 进行 JSONP 请求,浏览器(Chrome)抱怨内容不安全。
有什么解决办法吗?
【问题讨论】:
标签: javascript jquery web-services cross-domain jsonp
我知道有一个几乎重复的问题,但答案根本不令人满意。
我需要使用通过 HTTP 运行的 Openstreetmap 服务进行地理编码。
我的网站通过 HTTPS 运行。
似乎无法从 https 到 http 进行 JSONP 请求,浏览器(Chrome)抱怨内容不安全。
有什么解决办法吗?
【问题讨论】:
标签: javascript jquery web-services cross-domain jsonp
浏览器抱怨内容不安全的原因是内容不安全。安全页面的全部目的是所有内容都是安全的,并且可以信任。
您可以在请求不安全内容的安全站点中设置代理页面。在那里,您应该在将内容发送到浏览器之前对其进行验证,以便它实际上是安全的,而不仅仅是假装是安全的。
【讨论】:
如果您想向在 HTTP 下运行的外部服务发出 POST 请求,而初始请求来自 HTTPS,则始终会被视为不安全。 据我所知,没有办法解决。
您可以做的是向后端发送另一个 POST 请求到在 HTTP 下运行的服务。从那里返回 HTTP 服务返回的值。
【讨论】:
对于可能关心的人,这是我自己整理出来的。
1) 我的 Javascript 代码使用我需要转发到服务的参数调用我服务器上的 AJAX 页面
2) AJAX 页面使用地址通过 CURL 发出请求
3) 我清理响应并将其转换为 JSON
4) 使用 Javascript 的成功回调我使用数据
【讨论】: