如何在ajax中成功输出json数组值?

时间:2017-03-03 04:46:02

标签: php jquery json ajax

我发布数据并使用json_encode返回值,并在ajax成功阶段获取。但我无法在特定输入中输出该数据值。这是我的html输入。返回值显示在控制台和警告框中,如下所示。

  

{ “状态”: “0”, “数据”:[{ “USER_ID”: “1”, “START_TIME”: “00:00:00”, “END_TIME”: “01:00:00”, “date_select”: “2017年3月23日”, “admin_flag”: “0”, “interview_plan_staff_id”: “1”, “interview_plan_staff_name”: “管理员”, “USER_NAME”: “\ u304a \ u306a \ u307e \ u30481” },{ “USER_ID”: “31”, “START_TIME”: “00:00:00”, “END_TIME”: “01:00:00”, “date_select”: “2017年3月23日”, “admin_flag” : “0”, “interview_plan_staff_id”: “1”, “interview_plan_staff_name”: “管理员”, “USER_NAME”: “内田”}]}

<input type="text" id="admin_id" class="form-control">

这是我的ajax

function cal_click(cal_date){
   var calDate = cal_date
   var date_format = calDate.replace(/-/g, "/");
   var base_url = <?php base_url(); ?>
   $.ajax({
    type: "post",
    url: "<?php echo base_url('Admin_top/getcal');?>",
    data: {calDate:calDate},
    cache: false,
    async: false,
    success: function(result){

            console.log(result);
            alert(result);

        }

    });
}

4 个答案:

答案 0 :(得分:2)

使用SELECT VictimID,COUNT(*) AS count FROM `Kill` WHERE PlayerID = ? AND WipeID = ? GROUP BY VictimID 从结果中获取特定输入

JSON.parse

答案 1 :(得分:0)

使用每个循环来获取id,结果是一个具有数据数组的对象:

$.each(result.data,function(i,v){
     console.log(v.user_id);
     //$('.admin_id').val(v.user_id);//use val to append the value, note you have multiple ids so you need multiple inputs 
});

如果这不起作用,那么你返回的字符串不是json所以你需要使用以下代码将它转换为json:

var result = JSON.parse(result);

答案 2 :(得分:0)

阅读以下帖子,您将了解json解析

Parse JSON from JQuery.ajax success data

how to parse json data with jquery / javascript?

你可以尝试像这样循环

var parsedJson  =   $.parseJSON(json);
$(parsedJson).each(function(index, element) {
    console.log(element.status);
    $(element.data).each(function(k,v) {
        console.log(v.user_id);
    });
});

答案 3 :(得分:0)

在AJAX回调中,您可以使用result.data来访问要返回的对象数组。您可以像使用任何其他Javascript对象一样使用这些。您可能需要首先反序列化JSON。

要完成你想要做的事情,下面的代码可以解决这个问题,虽然它只会使用数组中的第一个对象,因为你只有一个文本框。

var responseObj = JSON.parse(result);
document.getElementById('admin_id').value = responseObj.data[0].user_id;