【发布时间】:2017-03-01 18:46:37
【问题描述】:
我正在尝试使用 json_encode 和 ajax 函数从控制器接收数据到视图。但是我正在通过 json 发送到单独的值,并且我正在尝试访问它。那么如何将这两个对象分开,并且只得到一个值呢?
让我给你看我的代码:
function check_relation_status()
{
var id=$('.id_data').attr('value');
jQuery.ajax({
type:'POST',
url:'<?php echo base_url("user/check_relation_status"); ?>',
data:{id:id},
dataType:'json',
success:function(data)
{
console.log(data);
var ParsedObject = JSON.stringify(data);
var sender_Data = $.parseJSON(ParsedObject);
var senders_id=sender_Data.senders_id;
jQuery.ajax({
type:'POST',
url:'<?php echo base_url("user/get_senders_data"); ?>',
data:{id:senders_id},
dataType:'json',
success:function(data)
{
console.log(data);
var ParsedObject = JSON.stringify(data);
var sender_values = $.parseJSON(ParsedObject);
var senders_name=sender_values.sender_data;
// alert(senders_name);
$.each(sender_values, function(key,data)
{
var uname = data.uname;
// alert(uname);
$('#friendship_request').append('<div>'+uname +'has sent you a request</div>');
});
}
});
}
});
}
现在是控制器代码
public function get_senders_data()
{
$sender_id=$this->input->post('id');
$this->load->model('Pmodel');
$userdata=$this->Pmodel->getUserdata($sender_id);
$senders['senders_data']=$userdata;
$senders['senders_post'] = $this->Pmodel->get_all_count($sender_id);
// print_r($senders);
echo json_encode($senders);
}
json 值 '$senders' 保存这两个值,但是当我尝试使用 'each' 函数访问它时,它会显示两次值,而 uname 只有一列。让我添加一些图像来解释。
我哪里错了?
【问题讨论】:
-
echo json_encode($senders);的输出是什么? -
您是否在正确的数组元素上运行“每个”调用?或者你是在一个有多个子元素的“父”数组上运行它,认为这个数组应该只有一个“uname”?
-
@JorgeObregon 我正在 $senders 上运行包含其他值的 ajax,这有什么问题吗?
标签: javascript php jquery json ajax