2017-03-02 18 views
0

こんにちは私は、$ .eachでjson配列の値を取得しようとしている値を別のajaxに渡される値をコントローラから表示されているが、$ .each関数を使用して値を表示することはできません。私は、このコードはすべての値が放火魔コンソールに表示されているエコーjson_encode($のユーザデータ)としてcompletly働く問題

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); 
    } 
    } 

であるかを説明するためにあなたに私のコードを表示してみましょう。私はあなたに良いイメージをいくつか見せてくれます。

ajax showing null value get_all_friends ajax second function

私は間違っどこで教えてくださいできますか?

+0

を取り外すことができるように

あなたはこの部分を説明することができ、代わりにシンプルなfor -loopを使用することができますか? 'var ParsedObject = JSON.stringify(data); var friend_request_data = $ .parseJSON(ParsedObject); '文字列化して再解析する必要がある場合、何かが間違っているようです。 – Shilly

答えて

0

$eachを使用してデータを繰り返し処理する理由を教えてください。 JSON.stringifyJSON.parse

+0

値を解析しないと、定義されていないオブジェクトまたはオブジェクトオブジェクトしか表示されません。 –

+0

私は質問が$ query-> result_arrayを返すときに、それが未定義であることを示しているので、質問にはraltedと思われると思います。$ query-> row_arrayを使用すると、配列全体ではなく単一の行を返します@DagosPodaru's –

+0

これは、しかし、それはその質問に答えるつもりはありません。それはおそらく、編集、コメント、別の質問、または完全に削除されるべきです。 –

関連する問題