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

标签 javascript jquery arrays json

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

<div id="divtest"> <h1> Bla </h1> </div>
<button id="dugme1"> dugme </button>

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

$("#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);
    })

    });

因此,当我单击按钮时,我会在控制台中得到以下响应:

[{"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"}]

但是我希望警报向我展示 PNAME 的值(value)。但当我点击按钮时,我得到了未定义的信息。

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

enter image description here

最佳答案

由于 t 是一个数组,因此您必须使用索引,例如:

t[0].PMNAME

要打印所有 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)
});

关于javascript - jQuery解析json并获取元素,得到未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51875705/

相关文章:

arrays - 创建哈希表,其中键有多个数组值

javascript - 如何优化要在 javascript 字符串中使用的长 html 代码的创建

javascript - 如何将阅读更多 - 阅读更少按钮始终放在段落末尾?

javascript - 如何让网站在警报/弹出窗口下继续更新?

javascript - jquery window.resize 不工作

php - 访问另一页面后保留浏览器滚动位置

javascript - 指定 ZeroClipboard.swf 的路径,Laravel + jQuery

javascript - 如何解构对象以从方法中检索返回值?

PHP : Remove object from array

java - 如何在java中将CSV文件转换为整数数组?