我目前正在使用 jQuery AJAX 获取一个相对 URL,它前面没有方案/域(例如,'/js/get_international_popup/'。当我在返回之前查看我的位置标头时,响应也是一个相对 URL。
当我在本地通过 HTTP 进行测试时,一切正常。但是,一旦我在我的实时服务器上测试它,通过 HTTPS 响应就会被 Chrome 阻止,因为它说它不安全:
混合内容:“ https://example.com/ ”页面通过 HTTPS 加载,但请求了不安全的 XMLHttpRequest 端点“ http://example.com/js/get_international_popup/ ”。此请求已被阻止;内容必须通过 HTTPS 提供。
从 Chrome 的角度来看,我的本地测试请求/响应通过 HTTP,但我的实时测试请求通过 HTTPS 并获得了 HTTP 响应。我无法在实时服务器上查看 Chrome 的响应,因为它被阻止了。
如果我返回带有绝对 URL(包括https://domain)的响应,一切似乎都可以正常工作,但我不喜欢使用绝对 URL。
有谁知道是否有办法使用相对 URL 来解决这个问题?