2017-03-01 38 views
3

嗨,大家好,我試圖從控制器接收數據使用json_encode和ajax函數查看,但我通過json和tring發送到單獨的值來訪問它,所以我如何分開這兩個對象,並獲得一個單一的值。 讓我告訴你我的代碼如何只訪問json發送的一個對象而不是ajax成功函數中的整個數組?

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值'$發送者同時擁有的價值觀,但是當我嘗試訪問它USNG「每個」功能,它顯示兩個值的時候只有一個單獨的列。讓我添加一些圖像來解釋。

json response view 你能告訴我我在哪裏錯了嗎?

+0

是什麼的'回聲json_encode($發件人)輸出;'? –

+0

你在正確的數組元素上運行'每個'調用嗎?或者你是否在具有多個子元素的「父」數組上運行它?思考應該只有一個「uname」的數組? – JorgeObregon

+0

@JorgeObregon我正在運行ajax上包含其他值的兩個$發件人有沒有sometHing錯了? –

回答

2

嘗試改變象下面這樣: -

if(uname){ 
$('#friendship_request').html('<div>'+uname +'has sent you a request</div>'); 
} 

注: -

1.You被追加所有的用戶名(這是不正確的)。

2.You不檢查username是未定義或爲空或空等

+0

讓它工作@安南,但只是爲了好奇,你能告訴我爲什麼顯示undefined嗎? –

+1

1.你正在追加所有用戶名。2.你沒有檢查名稱是未定義的,空的,空的等 –

+0

是啊得到​​它謝謝你的回覆! @一隻螞蟻 –

相關問題