Javascript 通过SSL和路径url使用D3请求(json)会产生混合内容错误?

Javascript 通过SSL和路径url使用D3请求(json)会产生混合内容错误?,javascript,json,ssl,d3.js,Javascript,Json,Ssl,D3.js,我不确定这里发生了什么,但我想我应该问问人群。基本上,我有一个使用D3的FetchJSON数据函数,该函数在本地开发服务器上工作,但当我将其移动到生产环境(通过SSL托管)时,会出现以下错误: Mixed Content: The page at 'https://myapp.com/' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://myapp.com/path/to/mydat

我不确定这里发生了什么,但我想我应该问问人群。基本上,我有一个使用D3的FetchJSON数据函数,该函数在本地开发服务器上工作,但当我将其移动到生产环境(通过SSL托管)时,会出现以下错误:

Mixed Content: The page at 'https://myapp.com/' was loaded over HTTPS, 
but requested an insecure XMLHttpRequest endpoint 'http://myapp.com/path/to/mydata/'. 
This request has been blocked; the content must be served over HTTPS.
它在普通HTTP上运行良好。问题是,我没有指定方案,甚至没有指定端点,我只是使用了一个来自web服务器根的绝对路径,如下所示:

var url = '/path/to/mydata/'
d3.json(url, function(error, data) {
    // do something with data
}); 
我是否可以强制使用SSL?类似于
“//cdn.com/path/to/asset.js”
的内容,其中省略了该方案,以允许根据服务器的内容发出SSL和普通HTTP请求

更新


更多信息:我在Heroku上托管了这个应用程序,对我的API的其他请求似乎运行得很好,包括使用
d3.csv
jQuery.get

的请求,我不确定为什么d3在这种情况下坚持使用纯http。作为一种解决方法,您可以简单地检测协议并相应地调整url:

var url = window.location.protocol + '//path/to/mydata/'
d3.json(url, function(error, data) {
    // do something with data
}); 

我真的不想改变生产和开发的端点位置。另外一个想法——我相信D3使用了jQuery的ajax函数。您是否尝试过升级jQuery版本?