我是javascript的初学者。局部变量 let searchquery = e.target.querySelector('input').value;
值未在fatch api中打印 q=${searchquery}
并打印全局变量值 let searchquery='';
我的输出是
pizza {q: "", from: 0, to: 20, more: false, count: 0, …}
```
let searchquery='';
searchform.addEventListener('submit', (e) => {
e.preventDefault();
let searchquery = e.target.querySelector('input').value;
console.log(searchquery);
fetchAPI(); });
async function fetchAPI() {
const baseurl = https://api.edamam.com/search?q=${searchquery}&app_id=${app_id}&app_key=${app_key}&to=20
;
1条答案
按热度按时间nhjlsmyf1#
您正在创建
searchquery
变量两次。一个在匿名函数外部,第二个在匿名函数内部addEventListener
. 由于这一点,变量范围正在缩小,并且在fetchAPI
方法。你应该这样使用它-
或
如果需要在提交处理程序中创建另一个变量,请将此变量传递给
fetchAPI
在调用此方法时将其作为param。