1

当我以 HTTPS 浏览我的网站时,我遇到了混合内容问题。我从 jQuery 调用 API,但我没有提到协议,所以假设浏览器应该选择与站点浏览相同的协议(http 或 https)。我的 jquery 代码如下所示:

$.get("/api/Product/GetMore", { pageIndex: currentPage })
    .done(function(result) {
    .....

当在 http 中浏览网站并执行所需的操作以获得结果时,它工作正常(能够从 API 调用中获取结果)。但是当我浏览该站点并尝试在 https 中获取结果时,我在浏览器控制台中遇到了以下错误。即使我使用 https 协议对完整的 API url 进行硬编码,也会发生同样的事情。混合内容:“https:///product”处的页面是通过 HTTPS 加载的,但请求了不安全的 XMLHttpRequest 端点“http:///api/product/getmore?pageIndex=1”。此请求已被阻止;内容必须通过 HTTPS 提供。

XHR 加载失败:GET "https:///api/Product/GetMore?pageIndex=1"。

如果您有任何解决方案,请告诉我。

谢谢,沙拉特

4

1 回答 1

0

为了工作,您需要指定 index.php 以便它知道它正在调用哪个函数。因为这类似于 cUrl 调用它需要完整路径。为了让 call 决定它在哪个协议上,你需要在开头加上双斜杠。所以试试这个:

$.get("//api/Product/GetMore/index.php", { pageIndex: currentPage })

或者

$.get("//api/Product/GetMore/", { pageIndex: currentPage })

修复了我过去的问题。

于 2016-01-04T20:19:20.780 回答