Javascript 我能';t从AJAX请求中提取JSON数组,有些返回未定义或[object]

Javascript 我能';t从AJAX请求中提取JSON数组,有些返回未定义或[object],javascript,php,jquery,ajax,json,Javascript,Php,Jquery,Ajax,Json,我有一种使用AJAX发送和接收数据的机制。数据被发送到一个php文件,完成后,结果将以JSON格式从发送回(使用encode_JSON方法)。然后,将为每个aim提取接收到的json数据 当我试图提取从php文件传输的json消息时,问题出现了。 这是Javascript的部分 function set_filter() { var a = document.getElementById('Tema'); var b = a.options[a.options.selectedIndex].va

我有一种使用AJAX发送和接收数据的机制。数据被发送到一个php文件,完成后,结果将以JSON格式从发送回(使用encode_JSON方法)。然后,将为每个aim提取接收到的json数据

当我试图提取从php文件传输的json消息时,问题出现了。 这是Javascript的部分

function set_filter() {
var a = document.getElementById('Tema');
var b = a.options[a.options.selectedIndex].value;
$.get("filter.php", {tema: b, method: 'set_filter'}, function(data, status) {
    alert(status);
    console.log(data);
    x = JSON.parse(data);
    alert(x.count);
  });
}
这是console.log(数据)的结果

大宗报价 {“过滤器”:{“id_过滤器”:[“2”、“1”、“3”],“judul_过滤器]:[“Jenis Arus Dana”、“Instansi NAD”、“Kategori Transaksi NAD”],“选择列表”:[[[“s”、“p”]、[“Sumber”、“Pengeluaran”]、[[“1”、“2”、“3”、“4”、“5”、“6”],[“中央银行”、“银行”、“佩梅林政府”、“国内银行”、“卢阿尔内格里”、“Selururuh Instansi”]、[“0200”、“0400”、“0700”、“0800”、“0800”、“0600”“1010”、“1020”、“1021”、“1022”、“1023”、“1024”、“1025”、“1030”、“1100”、“1200”、“1210”、“1220”、“1230”、“1300”、“1400”、“1410”、“1420”、“1500”、“1800”、“2000”、“9000”、“0100”]、[“非金融投资”、“Pinjaman Neto”、“Selisih Statistik”、“金融投资网”、“Jumlah Penggunaan Financial”、“Jumlah Sumber Financial”、“Cadangan Valas Pemerintah”,“Klaim Dalam Valas lainya”、“Uang Dan Simpanan”、“Uang Dan Simpanan Dalam Valas”、“Uang Dan Simpanan daram Rupiah”、“Uang Kertas Dan Logam”、“Giro”、“Tabungan”、“depositor Berjangka”、“Simpanan Rupiah lainya”、“Tabungan Giro Pos Dan Koperasi”、“Surat Berharga Jangka Pendek”、“Kredit”、“Kredit Bank daram Rupiah”、“Kredit institutus Lain D.Rupiah”《瓦拉斯宣言》、《莫代尔·萨哈姆和彭耶塔宣言》、《班江宣言》、《政府宣言》、《莱尼亚宣言》、《阿苏兰西和养老金宣言》、《大港宣言》、《瑞克宁安塔尔银行》、《鲁巴宣言》、《塔邦布鲁托宣言》]]

当我检查这一行时,“警报(x.count);“,它回来了

未定义

如果我想提取所有judul_过滤器或id_过滤器或其他,如何实现每个/特定元素

注:我访问了一些链接,如 但根据我尝试的建议,它返回未定义或[PBObject object]。数据必须使用JSON.Stringify(数据)解析为字符串吗?或者如何解析


-谢谢-

看起来您正在返回一个json数据,所以请使用$.ajax()的自动解析

您可以使用$.getJSON()或将数据类型作为
'json'
传递给$.get()


此外,json中没有名为
count
的属性,如果您想获得数组的长度,如
select\u list
使用
数据。select\u list.length
如果您没有count,则需要使用x.length

在json中没有
count
。如果您想知道对象的计数,请使用
x.length
function set_filter() {
    var a = document.getElementById('Tema');
    var b = a.options[a.options.selectedIndex].value;
    $.getJSON("filter.php", {
        tema: b,
        method: 'set_filter'
    }, function (data, status) {
        var judul_filter = data.filters.judul_filter;
        var id_filter = data.filters.id_filter;
        console.log(judul_filter, id_filter);

        var select_list = data.select_list;
        console.log(data.select_list.length)
    });
}