1

我知道您无法执行从 HTTP 到 HTTPS 的 AJAX 请求,因此我们正在努力让所提供的内容在 HTTP 和 HTTPS 上都可用。有没有告诉 AJAX 根据它在浏览器中使用的协议来获取文件?

例如,您可以这样做:

....
type: "GET",
url: '//wp-content/themes/twentyeleven/js/jobopenings.json'
....

//会自动提供正确的版本吗?

4

3 回答 3

2

window.location对象可以告诉当前使用的协议

url: window.location.protocol + url_without_protocol

但是相对 url也可以达到同样的效果

url: '/path/to/whatever/you/want.json'

这将获取服务器根目录并将您的东西粘贴在它之后,并采用协议。

希望这可以帮助!

于 2013-01-23T16:27:52.277 回答
0

做吧/wp-content/themes/twentyeleven/js/jobopenings.json。注意单斜杠。

/以告诉它在您的域的根目录(将自动使用正确的 http(s) 协议)开始的 URL 。

于 2013-01-23T16:49:42.257 回答
0

你可以使用:

var protocol = window.location.protocol || document.location.protocol;

然后您可以将其用于您的网址...

....
type: "GET",
url: protocol + '//your-address.com/wp-content/themes/twentyeleven/js/jobopenings.json'
....
于 2013-01-23T16:27:04.903 回答