我知道您无法执行从 HTTP 到 HTTPS 的 AJAX 请求,因此我们正在努力让所提供的内容在 HTTP 和 HTTPS 上都可用。有没有告诉 AJAX 根据它在浏览器中使用的协议来获取文件?
例如,您可以这样做:
....
type: "GET",
url: '//wp-content/themes/twentyeleven/js/jobopenings.json'
....
它//
会自动提供正确的版本吗?
window.location对象可以告诉当前使用的协议
url: window.location.protocol + url_without_protocol
但是相对 url也可以达到同样的效果
url: '/path/to/whatever/you/want.json'
这将获取服务器根目录并将您的东西粘贴在它之后,并采用协议。
希望这可以帮助!
做吧/wp-content/themes/twentyeleven/js/jobopenings.json
。注意单斜杠。
/
以告诉它在您的域的根目录(将自动使用正确的 http(s) 协议)开始的 URL 。
你可以使用:
var protocol = window.location.protocol || document.location.protocol;
然后您可以将其用于您的网址...
....
type: "GET",
url: protocol + '//your-address.com/wp-content/themes/twentyeleven/js/jobopenings.json'
....