0
我有一個下拉列表,當點擊的項目之一,我調用這個函數:不能通過字符串變量函數
onClick(type) {
type.preventDefault();
let query = type.target.text;
PokeApi.pokemonType(query).then(function(data) {
console.log(data);
}.bind(this));
}
的執行console.log返回undefined。
當我這樣做:
onClick(type) {
type.preventDefault();
let query = type.target.text;
console.log(query);
console.log(typeof query);
PokeApi.pokemonType(query).then(function(data) {
console.log(data);
}.bind(this));
}
第一的console.log將返回下拉列表項目的文本。第二個console.log將返回字符串。現在,當我將查詢傳遞給PokeApi.pokemonType時,我可以從api中獲取404錯誤,第三個console.log返回undefined。
但是,如果我通過在下拉列表的文本直接像這樣:
onClick(type) {
type.preventDefault();
PokeApi.pokemonType("ice").then(function(data) {
console.log(data);
}.bind(this));
}
一切工作完全正常,我也得到正確的對象從API回來。
任何想法爲什麼發生這種情況?我究竟做錯了什麼?
看看網絡面板,然後查看該請求。看看當你使用硬編碼時發送了什麼。文本 – epascarello
嘗試使用'onChange'來代替,並得到你可以使用的選擇值:'query = type.target.value'! –
好吧,如此硬編碼,請求網址是http://pokeapi.co/api/v2/type/ice並且查詢它的http://pokeapi.co/api/v2/type/%20ice%20/ – Banner