我试图用其他主题的答案解决这个问题,但我不能,我的浏览器控制台中只有一个错误,但一切正常:
Uncaught TypeError: Cannot use 'in' operator to search for 'length' in
false
这是我的JS:
$("select[name=categoria]").change(function(){
valorBuscar = $(this).val();
mostrarDatos2(valorBuscar);
});
}
function mostrarDatos2(valorBuscar){
$.ajax({
url : "http://localhost/empresa/CategoriaC/mostrarCat",
type: "POST",
data: {categoria: valorBuscar},
dataType:"json",
success:function(response){
filas = "";
$.each(response.cat,function(key,item){ //<= here is the error
filas+="<tr><td><input type='checkbox' id='check'
value="+item.correo+"></td><td>"+item.contacto+"<br
/>"+item.correo+"<br />"+item.nombre_empresa+"</td></tr>";
});
$("#tbclientes tbody").html(filas);
}
});
}
答案 0 :(得分:0)
$.each
必须仅用于对象
首先检查它是否是一个对象
类似问题:Uncaught TypeError: Cannot use 'in' operator to search for 'length' in
编辑:如果你把整个东西放在if()语句中,那么加载错误会消失吗?
if( typeof response.cat == "object" ){
$.each(response.cat,function(key,item){
...
}
}