我有一个文本和一个按钮:
<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)。但当我点击按钮时,我得到了未定义的信息。
我做错了什么? 这是开发者控制台:
最佳答案
由于 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/