来自路径String

时间:2018-02-05 19:47:39

标签: javascript ajax http

我正在本地和暂存网站上工作。本地站点使用http://协议提供,而暂存站点使用https://协议提供。

我在我的网站上使用ajax。我的代码是这样的:

var str='api/callback/this/one/here';
$.get(str);
...

在本地网站上正常工作。在暂存网站上,我得到Mixed Content: The page at 'https://currentpage' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://api-request'. This request has been blocked; the content must be served over HTTPS.

但是如果我使用https发出请求,它就可以了。我们的后端并不关心协议。无论怎样,它都会归还它。

奇怪的是:如果从开发者控制台输入$.get('//request/path/here'),它可以正常工作。 Chrome会自动将其转换为正确的协议,这是我期望的。

为什么我的源代码无法适应?我的源代码中没有任何显式协议使用 - 甚至在随附的HTML中也没有。我可以使用location.protocol + ajaxString来解决这个问题,但这似乎与不执行任何操作相同。它不再安全 - 或者它不应该是。

有什么见解?

0 个答案:

没有答案