我有以下代码:
var marcas = {
nome: '',
fipeId: ''
};
var marcasVet = [];
var select;
$.ajax({
dataType: "json",
url: 'http://fipeapi.wipsites.com.br/carros/marcas',
success: function(data) {
for (var i = 0; i < data.length; i++) {
marcas.nome = data[i].name;
marcas.fipeId = data[i].id;
marcasVet[i] = marcas;
select += '<p> Marca: ' + marcasVet[i].nome + ' Marca id (Fipe): ' + marcasVet[i].fipeId + '</p>';
}
$('#info').html(select);
}
});
数据存储在marcasVet[]
数组中,显示在id="info"
通过将代码从$('#info').html(select);
更改为$('#info').html(marcasVet[10].fipeId);
或any other index
,它仅打印值120,而不是代码$('#info').html(select);
中所示的预期值。< / p>
任何人都知道我的错误在哪里?
由于
答案 0 :(得分:0)
在您的选择中,您添加了自己的单词和
标签,以获得您所看到的内容。但是,如果您执行的marcasVet[10].fipeId
仅返回fipeId
,而不是您为select变量设置的格式,那么为什么您只看到120而不是$('#info').html(select);
你可以做的可能是
select = '<p> Marca: ' + marcasVet[10].nome + ' Marca id (Fipe): ' + marcasVet[10].fipeId + '</p>';
$('#info').html(select);
答案 1 :(得分:0)
而不是使用它:
marcasVet[i] = marcas;
select += '<p> Marca: ' + marcasVet[i].nome + ' Marca id (Fipe): ' +
marcasVet[i].fipeId + '</p>';
使用:
marcasVet.push({
nome:marcas.nome,
fipeId:marcas.fipeId
});
select += '<p> Marca: ' + marcas.nome + ' Marca id (Fipe): ' +
marcas.fipeId + '</p>';
如果可以使用jquery,也可以使用$ .each而不是for循环:
$.each(data, function( index, item) {
marcasVet.push({
nome: item.nome,
fipeId: item.fipeId
});
select += '<p> Marca: ' + item.nome + ' Marca id (Fipe): ' +
item.fipeId + '</p>';
});
答案 2 :(得分:0)
尝试在代码的ajax部分执行以下操作
$.ajax({
method: 'GET',
url: 'http://fipeapi.wipsites.com.br/carros/marcas'
}).done(function(data) {
for (var i = 0; i < data.length; i++) {
marcas = {
nome: data[i].name,
fipeId: data[i].id
};
marcasVet[i] = marcas;
select += '<p> Marca: ' + marcasVet[i].nome + ' Marca id (Fipe): ' + marcasVet[i].fipeId + '</p>';
}
$('#info').html(select);
});