javascript - Jquery 加载 https url

标签 javascript jquery http https

我有这个问题。在外部网站上,我有一个这样的脚本:

<div id="idtest"></div>
<script src="//example.com/widget.js" type="text/javascript"></script>

example.com 在 https 中(允许 http 和 https)。在脚本 widget.js 的服务器中,我有:

 $('#idtest').load("https://example.com/index.html")

我收到此错误:混合内容:“thepage”处的页面是通过 HTTPS 加载的,但请求了一个不安全的 XMLHttpRequest 端点“http://example.com/index.html” '.此请求已被阻止;内容必须通过 HTTPS 提供。

我不明白:为什么会出错,为什么端点在“http”中? 谢谢

编辑

更多信息:

如果在 widget.js 中我这样做:

 $('#idtest').load("./index.html")

如果我在我的站点中加载脚本,内容已加载并且一切正常。

如果我这样做:

 x = "https://example.com"
 $('#idtest').load(x + "/index.html")

 $('#idtest').load("https://example.com/index.html")

我收到错误消息(如果我将脚本放在我的站点或外部站点中)。为什么?

编辑 2

更多信息:

我的网站在 django 中

编辑 3

在 firefox 中,我以 https 和 http 加载页面。它在 Chrome 中不起作用。调用 url 时,我在 firefox 网络分析器中看到了这种情况:

302 https://example.com/index.html 200 http://example.com/index.html [混合内容]

这种情况怎么理解(https到http)?可能是 Django 重定向问题?

最佳答案

A mixed content error发生在:

  • 您尝试在不安全 (http) 服务的页面上加载安全内容 SSL(https)

或者相反

  • 您尝试在安全提供的页面上加载不安全的内容 (http) SSL(https)

您的错误消息警告您的调用页面已在不安全模式下加载

您没有明确解释这一点,但您的错误表明您的页面在没有 SSL 的情况下提供。当您尝试加载 protected 资源时,这将成为 protected 资源和不安全的混合模式问题。


如果可能,您尝试以相同的方式提供引用文件

  • 正如您已经解决的那样,请求不带协议(protocol)的部分页面。现在您加载的文件将使用您的页面使用的协议(protocol)加载。

关于您的特定资源:

我试过加载:

http://example.com/index.html

https://example.com/index.html

结果是一样的。我得到了一个带有消息的简单页面:


示例域

此域用于文档中的说明性示例。您可以在示例中使用此域,而无需事先协调或请求许可。

More information...

关于javascript - Jquery 加载 https url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30663615/

相关文章:

javascript - 标题 JQuery Mobile 中的导航栏

java - 使用 JSF 时有时会缺少 http GET 参数

http - 为什么资源标识对于 RESTful Web 服务的接口(interface)如此重要?

security - HTTP cookies 端口特定吗?

javascript - 父函数在子组件中返回未定义 - angular2

javascript - 是否可以从 WinJS 中的 Windows Phone 8.1 应用程序调用 GPS 设置?

php - 使用 jQuery 效果更改 div 的内容?

javascript - 混合配置对象和 Ext.create 定义的对象会创建不可点击的面板

javascript - React search(filter)函数,添加参数进行搜索

javascript - 使用 ng-model 指令从 select2 中删除空选项