我发布数据并使用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);
}
});
}
答案 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;