2017-10-18 6 views
0

からJSON文字列にネストされた値にアクセスすることができません私はアヤックス応答を通じてPHPからenocoded JSON文字列を返す <p></p>私はこの上に複数の質問があります理解が、答えのどれも私のために働いていませんAJAXの応答

$.ajax({ 
    url : ajax_object.ajax_url, 
    type : 'post', 
    data : { 
     action: 'rt_check_for_new_messages', 
     uid : $uid, 
     pid : $pid, 
     sessionStart : $sessionStart, 
     room_array :$roomArray, 
     messages_array : $messagesArray, 
    }, 
    dataType : "json", 
    success: function(data) { 
     console.log(data); 

コンソールでは、私は

{html: "[]", messageData: "[{"roomName":"master","msgID":1638}, {"roomName":"beta","msgID":1640}]"} 

を取得するだから今、私は私が出てフィルタリングすることができますので、「roomName」にアクセスする必要が

と一致します3210
var matches = $(data).filter(function(i,n) { 
    return n.messageData[].roomName === 'master'; 
}); 
console.log(matches); 

私は

答えて

1

n.messageData[].roomName === 'master';は有効なJavaScriptシンタックスではありません見つけることができるすべての組み合わせを試してみました。

私は、これはあなたが何をする必要があるかであると考えている:私はここにdata.messageDataを解析しています

var matches = $(JSON.parse(data.messageData)).filter(function(i,n) { 
    return n.roomName === 'master'; 
}); 

注 - messageDataはJSONを含む文字列であるようにあなたは私たちを示してきたconsle出力に基づいて、それは、見えます配列ではありません。

関連する問題