Javascript 当我使用变量作为参数时,API调用抛出错误,但当我将位置硬编码到API调用中时,则不会抛出错误
我只是在练习API调用和请求,通过使用来自的Openweatherapi构建一个简单的web应用程序。它只允许您键入城市名称,然后使用按钮提交。获取数据,并返回城市天气的描述 以下是HTML:Javascript 当我使用变量作为参数时,API调用抛出错误,但当我将位置硬编码到API调用中时,则不会抛出错误,javascript,html,async-await,httprequest,weather-api,Javascript,Html,Async Await,Httprequest,Weather Api,我只是在练习API调用和请求,通过使用来自的Openweatherapi构建一个简单的web应用程序。它只允许您键入城市名称,然后使用按钮提交。获取数据,并返回城市天气的描述 以下是HTML: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" con
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Weather App</title>
<link rel="stylesheet" href="/css/main.css">
</head>
<body>
<input type="text" id="cityName">
<br>
<button id="citySubmit">Submit city to get weather</button>
<div id="weatherResponse"></div>
<script src="js/main.js"></script>
</body>
</html>
如您所见,Tampa是硬编码到API调用中的(省略了键),因此当按下按钮时,它将返回Tampa的天气。如果请求是以这种方式完成的,那么它就可以工作
以下是调用示例的文档:
api.openweathermap.org/data/2.5/weather?q={city name}&appid={API key}
当我试图这样写请求时,使用变量作为参数,将城市提交到输入字段:http://api.openweathermap.org/data/2.5/weather?q=“+citySearch+”&appid={API key}
它抛出一个404错误
只要将城市硬编码到请求中,API调用就一定有效。我不确定我做错了什么。我还使用了示例中给出的括号,但这可能是错误的。我是否在API调用中使用了错误的变量?我被难住了。
citySearch
是一个HTML元素也许你的意思是citySearch.value
?我把它添加到请求中的变量中,它就工作了!!!!!谢谢!:)
api.openweathermap.org/data/2.5/weather?q={city name}&appid={API key}