Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么我要使用未定义的Jquery ajax_Javascript_Jquery_Object - Fatal编程技术网

Javascript 为什么我要使用未定义的Jquery ajax

Javascript 为什么我要使用未定义的Jquery ajax,javascript,jquery,object,Javascript,Jquery,Object,我有以下代码。我曾试图将值填充到框中,但一直得到未定义的 我已经将对象.keys与对象.values进行了切换,但始终得到相同的结果。请有人给我指一下正确的方向 $(文档).ready(函数(){ $(“#ddlcomp”).更改(函数(){ var cid=$(“#ddlcomp”).val(); $.ajax({ url:'doload.php', 方法:“post”, 数据:“catid=”+cid }).done(函数(行){ //console.log(行); rows=JSON.pa

我有以下代码。我曾试图将值填充到
框中,但一直得到
未定义的

我已经将
对象.keys
对象.values
进行了切换,但始终得到相同的结果。请有人给我指一下正确的方向

$(文档).ready(函数(){
$(“#ddlcomp”).更改(函数(){
var cid=$(“#ddlcomp”).val();
$.ajax({
url:'doload.php',
方法:“post”,
数据:“catid=”+cid
}).done(函数(行){
//console.log(行);
rows=JSON.parse(行);
console.log(行);
$('#ddlsubcat').empty();
Object.keys(行).forEach(函数(行){
控制台日志(rowss);
$('#ddlsubcat').append(''+rowss.subcat+'');
//$('#ddlsubcat').innerHTML=$('#ddlsubcat').innerHTML+
//''+rowss.subcat+'';
})
//对于(变量i=0,len=rows.length;i
我已经解决了。问题不在于jQueryAjax部分,而在于我用来从数据库提取数据的PHP代码

if(isset($_POST['catid'])){
  $catid = $_POST['catid'];
  $query = mysqli_query($con, "select * from tbsubcat where catid = '$catid' order by subcat ");
  if (mysqli_num_rows($query) > 0){
   // while($rows=mysqli_fetch_row($query)){
        $rows=mysqli_fetch_all($query,MYSQLI_ASSOC);
        echo json_encode($rows);
   // }
  }
}
注释掉的代码块是原始的>>>mysqli\u fetch\u行,因此我将其更改为mysqli\u fetch\u all


这就解决了问题。

AJAX请求的响应是什么?{subcatid:“1”,subcat:“Who is you”,catid:“1”}您只返回一个对象,因此循环是多余的。只需使用
rows=JSON.parse(rows)$('#ddlsubcat').html(''+rows.subcat+'')这只是测试数据,在生产中我会有更多数据,那么我该如何满足这些需求呢?提前谢谢。那样的话,你需要一个循环。我建议将您的测试数据以您期望产品使用的确切格式进行,否则您只是要求一些东西被破坏。