Javascript 如何在ajax成功函数中仅访问json发送的一个对象而不是整个数组?

Javascript 如何在ajax成功函数中仅访问json发送的一个对象而不是整个数组?,javascript,php,jquery,json,ajax,Javascript,Php,Jquery,Json,Ajax,我尝试使用json_encode和ajax函数从控制器接收数据到视图。但是我通过json发送到不同的值,并且尝试访问它。那么,如何将这两个对象分开,只得到一个值呢 让我向您展示我的代码: function check_relation_status() { var id=$('.id_data').attr('value'); jQuery.ajax({ type:'POST', url:'<?php

我尝试使用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>');
                     });
                    }
                });         

            }
        });
    }
json值“$senders”包含这两个值,但当我尝试使用“each”函数访问它时,当uname只有一列时,它会显示两次值。让我添加一些图片来解释


我错在哪里?

试着改变如下:-

if(uname){
$('#friendship_request').html('<div>'+uname +'has sent you a request</div>');
}
if(uname){
$(“#友谊请求”).html(“+uname+”已向您发送请求);
}
注:-

1.您正在附加所有用户名(这是不正确的)


2.您没有检查用户名是否未定义或为null或为空等

echo json_encode($senders)的输出是什么?是否对正确的数组元素运行“each”调用?或者你是在一个有多个子元素的“父”数组上运行它吗?你认为这个数组应该只有一个“uname”?@jorgobregon我在$senders上运行ajax,其中包含两个其他值,有什么问题吗?运行正常@Anant,但出于好奇,你能告诉我为什么显示undefined吗?1.你是附加所有用户名。2.您没有检查名称是否未定义、空、空等
if(uname){
$('#friendship_request').html('<div>'+uname +'has sent you a request</div>');
}