我在解析从php文件到JQuery的JSON数据时遇到了问题。我很难找到最合适的方法来做这件事,任何帮助都会受到赞赏。它需要在函数中
目前我已经达到了这个目的:
$.ajax({
url: "Scripts/Interactions.php",
type: "POST",
dataType: "json",
success: function(data){
$.each(data, function(i, grab){
alert(grab.AgentFullName);
})
}
})
虽然这有效,但有一个问题是它在第一行之前会显示一行“未定义”,无论我建议使用哪一列。
以下是我的Json输出数据的示例。在本文中,它主要是随机的Ipsum Lorem,因为我还处于开发的早期阶段。我已经通过各种在线json格式检查器检查了数据,并且它恢复有效。
提前感谢您的帮助!
答案 0 :(得分:2)
数组中的第一个元素不是对象,它是一个字符串。这就是为什么当你说grab.AgentFullName
时第一个元素未定义的原因 - 字符串“results”没有这样的属性。
你可以改变
[
"results",
{
"InteractionID":"1",
"AgentFullName":"Peter Germein",
"InteractTopics":"Behaviour, Attendance, Attitude, Performance, Closing",
"InteractDiscussion":"Cras at nisl lorem, a lacin...",
"InteractAction":"Morbi quis nunc in odio eg...",
"InteractNotes":"Quisque et ante ut nis..."
},
到
[
{
"InteractionID":"1",
"AgentFullName":"Peter Germein",
"InteractTopics":"Behaviour, Attendance, Attitude, Performance, Closing",
"InteractDiscussion":"Cras at nisl lorem, a lacin...",
"InteractAction":"Morbi quis nunc in odio eg...",
"InteractNotes":"Quisque et ante ut nis..."
},
或者,你是否想要这样做:
{
"results": [
{
"InteractionID":"1",
"AgentFullName":"Peter Germein",
"InteractTopics":"Behaviour, Attendance, Attitude, Performance, Closing",
"InteractDiscussion":"Cras at nisl lorem, a lacin...",
"InteractAction":"Morbi quis nunc in odio eg...",
"InteractNotes":"Quisque et ante ut nis..."
},
{
"InteractionID":"2",
"AgentFullName":"Peter Germein",
"InteractTopics":"Behaviour, Attendance, Attitude, Performance, Closing",
"InteractDiscussion":"....",
"InteractAction":"Morbi quis nunc in ...",
"InteractNotes":"Quisque et ante ut nisi ..."
},
将解析如下:
$.each(data.results, function(i, grab){
alert(grab.AgentFullName);
})
答案 1 :(得分:0)
[ "results", { "InteractionID":"1", "AgentFullName":"Peter Germein",
引用你的json的开头,你可能想要“结果”:,而不是“结果”,