jQuery解析json并获取元素,得到未定义

Ike*_*ePr 0 javascript arrays jquery json

我有一个文字和一个按钮:

<div id="divtest"> <h1> Bla </h1> </div>
<button id="dugme1"> dugme </button>
Run Code Online (Sandbox Code Playgroud)

当用户单击该按钮时,将调用此脚本:

$("#dugme1").click(function(){

    $.get("http://mypath/PP/cfcs/remote.cfc", {
        method: 'listProjects',
        returnformat: 'json'
    },function(data){
        console.log(data);
        var t = JSON.parse(data);
        alert(t.PMNAME);
    })

    });
Run Code Online (Sandbox Code Playgroud)

所以当我点击一个按钮时,我在控制台中将其作为响应:

[{"PNAME":"JumpingBunny","ANAME":"Nikola","PID":1,"PMNAME":"Marko"},{"PNAME":"WorkerLogger","ANAME":"Ivan","PID":2,"PMNAME":""},{"PNAME":"TimeStampter","ANAME":"Kevin","PID":3,"PMNAME":"Bart"},{"PNAME":"BugFixer2","ANAME":"Ivan","PID":4,"PMNAME":"Clark"},{"PNAME":"EditorS","ANAME":"Homer","PID":5,"PMNAME":"Bruce"}]
Run Code Online (Sandbox Code Playgroud)

但是我想让警报向我展示PNAME的价值.但是当我点击按钮时,我得到了不确定.

我究竟做错了什么 ?这是开发者控制台:

在此输入图像描述

Mam*_*mun 7

既然t是一个数组,你必须使用索引,如:

t[0].PMNAME
Run Code Online (Sandbox Code Playgroud)

要打印PMNAME您可以forEach()在阵列上使用的所有内容:

var t = [{"PNAME":"JumpingBunny","ANAME":"Nikola","PID":1,"PMNAME":"Marko"},{"PNAME":"WorkerLogger","ANAME":"Ivan","PID":2,"PMNAME":""},{"PNAME":"TimeStampter","ANAME":"Kevin","PID":3,"PMNAME":"Bart"},{"PNAME":"BugFixer2","ANAME":"Ivan","PID":4,"PMNAME":"Clark"},{"PNAME":"EditorS","ANAME":"Homer","PID":5,"PMNAME":"Bruce"}];

t.forEach(function(i){
  console.log(i.PNAME)
});
Run Code Online (Sandbox Code Playgroud)