首页 > 解决方案 > JSON Fetch javasScript / jQuery 在实时站点上不起作用

问题描述

我想知道为什么当我获取 JSON 文件时它不起作用。fetch()这是我在本地主机 wamp64 上工作的链接和方式 。
链接:http: //zetcode.com/javascript/jsonurl/

从那个链接获取 JSON 数据的所有方法都是 100% 有效的,感谢那个网站和那个帖子背后的人。

一切都在我的本地主机中按预期工作,这是
IMG 的截图:https ://www.screencast.com/t/yafc6w900aM

顺便说一句,我想要实现的是从 Goeplugins 以 JSON 格式获取数据,因为我使用的是 JavaScript ......

在我的本地主机中,正如您在图片附加链接中看到的那样,一切正常,但在实时站点上它无法正常工作,我尝试解决,但我真的需要帮助..这里的链接,
实时站点:https://www.gpsup。 andali.ph/fetch
截图:https ://www.screencast.com/t/BDcuqWxK

我在本地主机中运行的文件与我在实时站点中运行的文件完全相同

这是我的代码:


<script> 
  
  var getRequest_uri = "http://www.geoplugin.net/extras/location.gp?lat=14.3164400&lon=120.9597400&format=json"; //getJSON_gps('location', latitude, longitude);

  fetch(getRequest_uri).then( res => res.json()).then((out) => {

    console.log('Output: ', out);


  }).catch(err => console.error(err)); 
   
</script>

我从该站点阅读了有关 HTTP / HTTPS 问题的帖子,在我的元数据中添加了以下行代码,但仍然无法正常工作

<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests" >

请开发人员帮助我,在此先感谢...

标签: javascriptjqueryjson

解决方案


与本指南一样,所有 geoPlugin Web 服务都可通过安全套接字层 (SSL) 使用。https://www.geoplugin.com/webservices/ssl 我们知道您的托管服务器被安全套接字层覆盖,这意味着它不允许 http 请求。您应该购买密钥以在您的 ssl 服务器上提供安全保护。 https://www.geoplugin.com/premium#ssl_access_per_year 购买后您将获得密钥,您应该在所有地理插件网络服务中使用该密钥。假设您的密钥是Fqw9ch1k6Han28xP返回到您的电子邮件的。

var getRequest_uri = "https://ssl.geoplugin.net/extras/location.gp?k=Fqw9ch1k6Han28xP&lat=14.3164400&lon=120.9597400&format=json"; //getJSON_gps('location', latitude, longitude);

它应该可以在您的 https 托管服务器上运行。一个提示:你应该花一点钱来保护你的网络,顺便说一句。:)


推荐阅读