尝试从 HTTPS 网站的 HTTP 服务器检索 JSONP

Trying to retrieve JSONP from HTTP server from a HTTPS website

我有一个基于 HTTPS 的网站,我有一个 JS 代码可以从基于 HTTP 的网站获取数据。我收到 HTTP 服务器不受信任的错误消息。 虽然相同的代码适用于 HTTP 到 HTTP。但不是在 HTTP 到 HTTPS 上。 这是错误:

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 我可以提供配置或其他任何东西来修复它?

更新: 以上链接是两个不同的网站。这不是子域问题。这些链接看起来有点像。域 A(HTTPS) 想要从域 B (HTTP) 获取 JSON。

正如@RoryMcCrossan 在评论中提到的那样,从 HTTPS 调用 HTTP 被设计阻止(同源策略),您可以将脚本从 HTTP 移动到 HTTPS 或制作后端脚本(例如 PHP ) 并从中调用 HTTP:

JavaScript(HTTPS) -> PHP(HTTPS) -> PHP(HTTP)
JavaScript(HTTPS) <- PHP(HTTPS) <- PHP(HTTP)

参考PHP中创建http请求:Http Request in PHP

这里还有一些关于 Same Origin Policy

的信息