我有一个基于HTTPS的网站,我有一个JS代码从基于HTTP的网站获取数据。我收到一个HTTP服务器不可信的错误。 虽然相同的代码适用于HTTP到HTTP。但不是HTTP到HTTPS。 这是错误:试图从HTTP服务器从HTTPS网站检索JSONP
Mixed Content: The page at ' https://www.33k.com/player/playerudan.php ' was loaded over HTTPS, but requested an insecure script ' http://33k.thepuremix.net/json.xsl '. This request has been blocked; the content must be served over HTTPS.
为了得到这个数据我使用类似下面的代码:
var URL = "http://33k.thepuremix.net/json.xsl"
$.getJSON(URL, function(data) {
console.log(data);
});
不知道如何解决它或使其工作。 Icecast上有这样一个Crossdomain.xml,我可以给它配置或其他任何东西来修复它?
UPDATE: 上述链接是两个不同的网站。这不是一个子域问题。链接看起来很像。域A(HTTPS)想要从域B(HTTP)获取JSON。
这是由设计。安全连接无法向非安全连接发出请求(至少不是没有用户授权的情况下)。您需要使网站HTTP也可以,或者您所调用的域名应该更改为HTTPS。更好的是,由于请求者和收件人页面都在同一个域中,只需使用相对路径 –
@Rory他不能只在他的https上创建后端服务(例如在php中)并从http上调用另一个服务? –
@LordMidi这完全是错误的。 JSONP是偶尔用于跨域请求的数据格式。它与安全/非安全内容之间的请求完全无关。 –