Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 由于混合内容问题(http/https),Chrome阻止了XHR响应_Jquery_Ajax_Google Chrome_Https_Mixed Content - Fatal编程技术网

Jquery 由于混合内容问题(http/https),Chrome阻止了XHR响应

Jquery 由于混合内容问题(http/https),Chrome阻止了XHR响应,jquery,ajax,google-chrome,https,mixed-content,Jquery,Ajax,Google Chrome,Https,Mixed Content,我目前正在使用jQuery AJAX获取一个相对URL,前面没有scheme/domain(例如,“/js/GET_international_popup/”。当我在返回位置标题之前查看它时,响应也是一个相对URL 当我在本地通过HTTP进行测试时,一切正常。但是,一旦我在我的实时服务器上进行测试,通过HTTPS,响应就会被Chrome阻止,因为它说这是不安全的: 混合内容:通过HTTPS加载了“”处的页面,但请求了不安全的XMLHttpRequest终结点“”。此请求已被阻止;必须通过HTTP

我目前正在使用jQuery AJAX获取一个相对URL,前面没有scheme/domain(例如,“/js/GET_international_popup/”。当我在返回位置标题之前查看它时,响应也是一个相对URL

当我在本地通过HTTP进行测试时,一切正常。但是,一旦我在我的实时服务器上进行测试,通过HTTPS,响应就会被Chrome阻止,因为它说这是不安全的:

混合内容:通过HTTPS加载了“”处的页面,但请求了不安全的XMLHttpRequest终结点“”。此请求已被阻止;必须通过HTTPS提供内容

从Chrome的角度来看,我的本地测试请求/响应是通过HTTP进行的,但我的实时测试请求是通过HTTPS进行的,并得到了HTTP响应。我无法在实时服务器上查看Chrome的响应,因为它被阻止了

如果我返回一个带有绝对URL(包括)的响应,一切看起来都正常,但我不喜欢使用绝对URL


有人知道是否有办法使用相对URL解决此问题吗?

使用javascript对此进行预处理:

var relative_url = '/js/get_international_popup/';
var absolute_url = window.location.origin + relative_url;
$.ajax(absolute_url, function(){});
参考:

注:
未测试

有时它可能是由尾部斜杠引起的。更改
https://example.com/js/get_international_popup/
https://example.com/js/get_international_popup

您可以发布ajax调用的代码吗?