HTML/Javascript代码在JSbin中工作,但不是codepen,plunker或jsfiddle

以下代码在JSbin中工作,但不是在我直接复制并粘贴到codepen,plunker或jsfiddle时。HTML/Javascript代码在JSbin中工作,但不是codepen,plunker或jsfiddle

<!DOCTYPE html> 

<html>

<head>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

<meta charset="utf-8">

<meta name="viewport" content="width=device-width">

<title>JS Bin</title>

</head>

<body>

<script>

function getWeather(){

var ipCall = 'http://ip-api.com/json';

$.getJSON(ipCall, locationCallBack)

function locationCallBack(locationData){

var lat =locationData.lat;

var lon = locationData.lon;

var apiCall = 'http://api.openweathermap.org/data/2.5/weather?lat='+lat+'&lon='+lon+'&units=imperial&appid=34e8aa0c1d8d15a560df7a7093711071';

$.getJSON(apiCall, weatherCallBack)

}

function weatherCallBack(weatherData){

var cityName = weatherData.name;

var cityTemp = weatherData.main.temp;

var weatherType = weatherData.weather[0].main;

var weatherIcon = weatherData.weather[0].icon;

$('.cityName').append(cityName);

$('.cityTemp').append(cityTemp);

$('.weatherType').append(weatherType +' '+ weatherIcon);

}

}

getWeather()

</script>

<div class ="cityName">

</div>

<div class="cityTemp">

</div>

<div class="weatherType">

</div>

</body>

</html>

该代码显示了该位置的用户位置和天气信息。使用api获取地理位置数据和天气信息。

回答:

如果您浏览器的控制台上检查,你会看到这样的错误:

jquery.min.js:4混合内容:在[CODEPEN /的jsfiddle URL]加载通过HTTPS网页,但请求一个不安全的XMLHttpRequest端点'http://ip-api.com/json'。此请求已被阻止;内容必须通过HTTPS提供。

这是发生因为Codepen和的jsfiddle只允许HTTPS请求,双方你使用不具有HTTPS协议的API。

了解更多关于在这里:​​在plunker https://blog.codepen.io/2017/03/31/codepen-going-https/

以上是 HTML/Javascript代码在JSbin中工作,但不是codepen,plunker或jsfiddle 的全部内容, 来源链接: utcz.com/qa/258519.html

回到顶部