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