问题描述
你好朋友我正在创建一个网络应用程序,它发送存储在公式中的数据,必须调用该公式才能乘法,但是在调用公式并列出它们时,它只添加一个字段。 在控制台中使用 console.log (data);显示了所有数据,但无法列出它们并执行 console.log (详细信息);这是变量只接收一个。我不知道是什么问题,非常感谢您的帮助。
var detalles = [];
function agregarDetalleB(id_Dproducto,materiales,estado){
$.ajax({
url:"../ajax/Dproducto.PHP?op=buscar_DproductoB",method:"POST",data:{id_Dproducto:id_Dproducto,materiales:materiales,estado:estado},cache: false,dataType:"json",success:function(data){
if(data.id_Dproducto){
console.log(data);
for (var i = 0; i < data.length; i++) {
var obj = {
Nbatida : 1,codDD : id_Dproducto,codDpro : data[i].id_Mprima,materiales : data[i].materiales,unidadm : data[i].unidadm,precio : data[i].precio,cantidad : data[i].cantidad,moneda : data[i].moneda,importe : 0,estado : data[i].estado
};
detalles.push(obj);
}
console.log(detalles);
listarDetallesB();
$('#modalDproducto').modal("hide");
}
else {
bootBox.alert(data.error);
}
}
});
}
解决方法
在这一行:
for (var i = 0; i < data.length; i++) { }
^
您正在同一行上关闭循环,因此没有代码可以循环。提取数据后,您需要关闭循环:
for (var i = 0; i < data.length; i++) { // No } here
var obj = {
Nbatida : 1,codDD : id_Dproducto,codDpro : data[i].id_Mprima,materiales : data[i].materiales,unidadm : data[i].unidadm,precio : data[i].precio,cantidad : data[i].cantidad,moneda : data[i].moneda,importe : 0,estado : data[i].estado
};
detalles.push(obj);
} // but here.