Jquery 由于混合内容问题(http/https),Chrome阻止了XHR响应
我目前正在使用jQuery AJAX获取一个相对URL,前面没有scheme/domain(例如,“/js/GET_international_popup/”。当我在返回位置标题之前查看它时,响应也是一个相对URL 当我在本地通过HTTP进行测试时,一切正常。但是,一旦我在我的实时服务器上进行测试,通过HTTPS,响应就会被Chrome阻止,因为它说这是不安全的: 混合内容:通过HTTPS加载了“”处的页面,但请求了不安全的XMLHttpRequest终结点“”。此请求已被阻止;必须通过HTTPS提供内容 从Chrome的角度来看,我的本地测试请求/响应是通过HTTP进行的,但我的实时测试请求是通过HTTPS进行的,并得到了HTTP响应。我无法在实时服务器上查看Chrome的响应,因为它被阻止了 如果我返回一个带有绝对URL(包括)的响应,一切看起来都正常,但我不喜欢使用绝对URLJquery 由于混合内容问题(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
有人知道是否有办法使用相对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调用的代码吗?