我有一个表单,其中用户键入城市名称,我想进行API调用并获取该城市的天气结果,然后将其显示在控制台中。
我收到一个错误,因为出于某种原因,保存input.value的变量没有被串联到字符串中。
代码如下:
var request;
var input1 = document.getElementById('city');
var api = 'https://api.openweathermap.org/data/2.5/weather?q=';
var apikey = '&APPID=433b12b793d7ebc17989745c069a540b';
var sum = api + input1.value + apikey;
function myFunction() {
request = new XMLHttpRequest();
request.open('GET', sum, true);
request.onload = function() {
var data = JSON.parse(this.response);
if (request.status >= 200 && request.status < 400) {
console.log(data);
} else {
console.log(input1.value);
}
}
request.send();
}
myFunction(input1.value);
<input id='city' value='San Francisco'>
感谢您的帮助!
答案 0 :(得分:1)
您的代码还可以,您只需将所有内容放入函数中即可。
<script>
function myFunction() {
var request;
var input1 = document.getElementById('city');
var api = 'https://api.openweathermap.org/data/2.5/weather?q=';
var apikey =
'&APPID=433b12b793d7ebc17989745c069a540b';
var sum = api + input1.value + apikey;
request = new XMLHttpRequest();
request.open('GET', sum, true);
request.onload = function () {
var data = JSON.parse(this.response);
if (request.status >= 200 && request.status < 400) {
console.log(data);
} else {
console.log(input1.value);
}
}
request.send();
}
</script>