2017-03-02 67 views
0

嗨,大家好我想获取$ .each中的json数组的值,并将值传递给另一个ajax值从控制器发送到查看,但无法使用$ .each函数显示值。让我告诉你我的代码来说明是什么问题

function getfriend_requests() 
    { 
    var id=$('.id_data').attr('value'); 

    jQuery.ajax({ 
        type:'POST', 
        url:'<?php echo base_url("user/getallfriends"); ?>', 
        data:{id:id}, 
        dataType:'json', 
        success:function(data) 
        { 
         console.log(data); 
          var ParsedObject = JSON.stringify(data); 
         var friend_request_data= $.parseJSON(ParsedObject); 

          $.each(friend_request_data, function(key,data) 
          { 

           var uname=data.uname; 
           var senders_id=data.senders_id; 
           alert(senders_id); 
           var recievers_id=data.recievers_id; 
           var request_status=data.request_status; 
           alert(recievers_id); 
           alert(uname); 
           jQuery.ajax({ 
          type:'POST', 
          url:'<?php echo base_url("user/get_friends_Data"); ?>', 
          data:{senders_id:senders_id,recievers_id:recievers_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); 
           var id=$('.id_data').attr('value'); 
            $.each(sender_values, function(key,data) 
         { 
         var uname = data.uname; 
         var senders_id=data.id; 

         alert(uname); 
         alert(senders_id); 
         // $('.senders_div').attr('senders_id', $senders_id); 
         // if(senders_id==id) 
         // { 

         // } 
         // else{ 
         // if(uname){ 
         //  alert(request_status); 
         //  if(request_status=='pending') 
         //  { 
         //  //alert('hello'); 
         //  }else{ 
         //  //alert('data'); 
         //  } 

          $('.friends_sidebar').append('<div>'+uname +'</div>'); 




         }); 
          //  $.each(sender_values,function,(key,data) 
          //  { 
          //   var uname = data.uname; 
          //   if(uname){ 
          // $('.friends_sidebar').html('<div>'+uname +'has sent you a request</div>'); 

          // } 
          //  }); 
           } 
         }); 
          }); 
        } 
       }); 
    } 

now in this code when i try to use 'friend_request_data' it shows undefined alerting values all shows undefined. so i cant send the values to the second ajax that i am using 
let me also show you the controller 

     public function getallfriends() 
    { 
     $id=$this->input->post('id'); 
     $this->load->model('Pmodel'); 
     $data['senders']=$this->Pmodel->get_all_user_friends_sender($id); 


     $data['recievers']=$this->Pmodel->get_all_user_friends_reciever($id); 

     echo json_encode($data); 
    } 
    public function get_friends_Data() 
    { 
     $senders_id=$this->input->post('senders_id'); 
     $user_id = $this->session->userdata('user_id'); 
     $recievers_id=$this->input->post('recievers_id'); 
     $this->load->model('Pmodel'); 

    if($user_id==$senders_id) 
    { 

    }else{ 
     $userdata['senders_data']=$this->Pmodel->getUserdata($senders_id); 

    } 

    if($user_id==$recievers_id) 
    { 

    } 
    else{ 
     $userdata['recievers_data']=$this->Pmodel->getUserdata($recievers_id); 
    } 

    echo json_encode($userdata); 
    } 
    } 

此代码工作完全地作为回声json_encode($用户数据),所有值都在Firebug的控制台被显示。让我给你看一些更好理解的形象。

ajax showing null value get_all_friends ajax second function

可以请你告诉我,我错了?

+0

你能解释一下这个部分? 'var ParsedObject = JSON.stringify(data); var friend_request_data = $ .parseJSON(ParsedObject);'如果你必须字符串化,然后重新解析,有些东西似乎是错误的。 – Shilly

回答

0

为什么使用$each迭代数据?

您可以使用一个简单的for -loop代替,使JSON.stringifyJSON.parse可以去掉

+0

如果我不分析值,它只会显示我未定义或对象对象。 –

+0

我认为这个问题可能会拉到查询,因为当我返回$ query-> result_array它显示undefined,否则,如果我使用$ query-> row_array它返回单行不是整个数组@DagosPodaru的 –

+0

这是张贴为答案,但它并不试图回答这个问题。它应该可能是编辑,评论,另一个问题,或者完全删除。 –

相关问题