Javascript 如何获取JSON格式的数据
在本练习中,我尝试创建一个Fontion askWeather,它将创建一个AJAX请求,然后获取web服务响应并在元素上显示它,Id为=“askWeather”。然后,当我点击按钮时显示结果(quelle est la météo sur Paris?) 这里是html部分Javascript 如何获取JSON格式的数据,javascript,json,ajax,Javascript,Json,Ajax,在本练习中,我尝试创建一个Fontion askWeather,它将创建一个AJAX请求,然后获取web服务响应并在元素上显示它,Id为=“askWeather”。然后,当我点击按钮时显示结果(quelle est la météo sur Paris?) 这里是html部分 <html> <head> <link rel="stylesheet" type="text/css" href="b
<html>
<head>
<link rel="stylesheet" type="text/css" href="base.css">
</head>
<body>
<div><button id="ask-weather">Quelle est la météo sur Paris ?</button></div>
<div id="weather-result"></div>
<script type="text/javascript" src="index.js"></script>
</body>
您将希望将askWeather调用放在click处理程序中
const eltAskWeather = document.getElementById("ask-weather");
const weatherResult = document.getElementById("weather-result");
eltAskWeather.addEventListener('click', function(event) {
var askWeather = new XMLHttpRequest();
askWeather.onreadystatechange = function() {
if (this.readyState == XMLHttpRequest.DONE && this.status == 200) {
var response = JSON.parse(this.responseText);
weatherResult.innerHTML = response.current_condition.condition;
console.log(weatherResult.innerHTML);
}
}
askWeather.open("GET", "https://www.previsionmeteo.ch/services/json/paris");
askWeather.send();
});
有关使用的某些功能的详细信息:
-
。。它的https://www.prevision-meteo.ch/services/json/paris
还有,你到底为什么不使用fetch api?askWeather
不是一个函数,所以不能像函数一样调用它(askWeather()
)。只需将askWeather.send()
移动到事件处理程序函数中。@lawrencerone Hhaha没错,缺少一个-但这并不能完全解决问题,因为askWeather不是一个函数,所以我应该将askWeather.send()移动到事件处理程序中,或者将其全部移动到事件处理程序中。我没有使用FetchAPI,因为我甚至不知道这意味着什么,哈哈哈,我在谷歌上搜索了它,它说它与react有关,我还是个初学者哈哈:D。无论如何,谢谢你的回复helped@HereticMonkey是的,谢谢你解决了问题,但是url中也缺少一个-哈哈,谢谢,问题解决了,但是url中也缺少一个-哈哈
const eltAskWeather = document.getElementById("ask-weather");
const weatherResult = document.getElementById("weather-result");
eltAskWeather.addEventListener('click', function(event) {
var askWeather = new XMLHttpRequest();
askWeather.onreadystatechange = function() {
if (this.readyState == XMLHttpRequest.DONE && this.status == 200) {
var response = JSON.parse(this.responseText);
weatherResult.innerHTML = response.current_condition.condition;
console.log(weatherResult.innerHTML);
}
}
askWeather.open("GET", "https://www.previsionmeteo.ch/services/json/paris");
askWeather.send();
});