繁体   English   中英

如何从HTTPS对HTTP时间服务器站点进行Ajax调用?

[英]How can I make an Ajax call to an HTTP time server site from HTTPS?

我正在尝试从http://timeapi.org/utc/now.json获取当前时间。 我正在使用以下内容:

  var date;
  $.ajax({
    dataType: 'jsonp',
    url: 'http://timeapi.org/utc/now.json',
    success: function (result) {
        date = result.dateString;
    }
  });

该URL仅可作为HTTP使用,但我是从HTTPS站点调用它。 这导致错误:

timeapi网站实际上不以https形式存在,因此将URL更改为https会导致一个新错误: http : //timeapi.org/utc/now.json

如何强制加载? 似乎没有任何HTTP Web时间服务,但我想必须有一种方式可以使https站点上的人们也使用外部计时服务。

你不能

从HTTPS,只有HTTPS。 通过HTTP,您可以调用HTTP和HTTPS。

您可以做的是在自己的网络服务器中创建一个https包装器(在php或节点中),然后从timeapi.org中检索值。

像这样:

<?php
header('Content-Type: application/json');
echo(file_get_contents('http://timeapi.org/utc/now.json'));

您无法通过https发出http请求。

同一原产地政策限制

同源策略是一种重要的安全机制,它限制了从一个来源加载的文档或脚本如何与另一个来源的资源进行交互。 它有助于隔离潜在的恶意文档,从而减少可能的攻击媒介。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM