Javascript 如何在ajax成功函数中仅访问json发送的一个对象而不是整个数组?
我尝试使用json_encode和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
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>');
}