$.getJSON 中的函数参数如何工作?
Posted
技术标签:
【中文标题】$.getJSON 中的函数参数如何工作?【英文标题】:How do function arguments within $.getJSON work? 【发布时间】:2014-04-27 02:50:15 【问题描述】:是否有官方文档解释函数参数的工作原理?
$.getJSON("files/golfClubs.json", function (data)
$.each(data, function (index, value)
$("#filtermenu").append("<option value='" + data[0].GolfCourses[index].GolfCourseID + "'>" + data[0].GolfCourses[index].GolfCourseName + " </option>");
);
);
比如说:
$.getJSON("files/golfClubs.json", function (data)
alert(data);
//Returns undefined. Unless .JSON.stringify-ed().
);
问题 1:我想知道当您引用相同的参数变量时,参数基本上是如何传递数据的。尤其是嵌套的 JSON。当您传递 2 个参数而不是 1 个参数时会发生什么?
问题 2:结合函数中的参数,使用下面的 JSON,您如何访问 GolfCourses.GolfCourseBookings.DayBookings?
[
"GolfClubID": "TROPICANA",
"GolfClubName": "Tropicana Golf and Country Club",
"GolfCourses": [
"GolfCourseID": "1",
"GolfCourseName": "West Course - 1st 9",
"GolfCourseBookings": [
"DayNumber": 1,
"DayDate": "19/03/2014",
"DayBookings": [
"TimeSlotID": "0",
"Time" : "07:00",
"Class": "Closed"
,
"TimeSlotID": "1",
"Time" : "07:10",
"Class": "Closed"
,
"TimeSlotID": "2",
"Time" : "07:20",
"Class": "Closed"
,
【问题讨论】:
你的数据是嵌套数组对象,所以你可以访问数据,比如 alert(data[0])value[0].GolfCourses[index].GolfCourseID
不是data[0].......
。
【参考方案1】:
请阅读http://api.jquery.com/jquery.getjson/
你有一个对象(数据)数组,你可以告诉这个,因为在 javascript 中:
[] = 数组, = 对象
例如:
var GolfCourses = []; // Array
var GolfCourses = new Array(); // Array
var GolfCourse = ; // Object
var GolfCourse = new Object(); // Object
所以回答你的问题:
第一季度。 $.getJSON 重新调整“数据”中的所有内容。因此,如果您想从服务器发送 2 个参数,例如name = "John" 和 last_name = "Travolta" 你用 javascript 对象表示法 (JSON) 发送它:
data = "name": "John", "last_name": "Travolta" ;
在客户端你可以这样访问它:
data.name; // John
data.last_name; // Travolta
如果您希望您的服务器发送各种对象:
data = [
"name": "John",
"last_name": "Travolta" ,
"name": "James",
"last_name": "Dean"
];
然后你访问:
data[1].last_name; // Dean
第二季度。基本上:
data[0].GolfCourses[0].GolfCouseBookings[0].DayBookings[0].Class; // Closed
谷歌“JSON 或 Javascript 对象表示法”获取信息。
【讨论】:
以上是关于$.getJSON 中的函数参数如何工作?的主要内容,如果未能解决你的问题,请参考以下文章
详细解读Jquery各Ajax函数:$.get(),$.post(),$.ajax(),$.getJSON()
详细解读Jquery各Ajax函数:$.get(),$.post(),$.ajax(),$.getJSON()
使用 Jquery $getJSON 如何在 Url 参数之后为 [data] 参数动态创建数据?