我使用Get方法引入了一个带有AJAX和Jquery的JSON文件。然后我想循环遍历每个数组,选择每个对象的标题,然后为它们创建一个新的变量,以便以后使用。
我尝试使用.each方法,但我似乎无法做到正确。希望有比我更多知识的人可以提供帮助。我真的很感激。
我已附加了JSON文件的链接。
代码 -
function getAllCat() {
$.ajax({
type: 'GET'
, url: 'http://www.capetownetc.com/api/get_category_index/'
, data: {
get_param: 'value'
}
, dataType: 'json'
, success: function postCat(data, i) {
var cat1 = data.categories[i].title;
console.log(cat1);
}
});
}
getAllCat();
以下是JSON文件的链接 -
答案 0 :(得分:2)
var catNames = {};
function getAllCat() {
$.ajax({
type: 'GET'
, url: 'http://www.capetownetc.com/api/get_category_index/'
, data: {
get_param: 'value'
}
, dataType: 'json'
, success: function(data) {
$.each(data.categories, function(key, item){
catNames[key] = item.title;
});
}
});
}
如您所见,我创建了一个空对象,然后我使用$.each
循环使用类别,并将每个类别的标题分配给catNames
对象。
catNames
也可以是一个数组,您可以使用Array.push()
success: nameOfMyFunction
(注意没有调用括号只是变量的名称)。
如果您想在未事先声明的情况下通过它,则应该是匿名的:
success: function(){}
答案 1 :(得分:0)
您可以在JSON结果上使用简单的for循环。
function getAllCat() {
$.ajax({
type: 'GET',
url: 'http://www.capetownetc.com/api/get_category_index/',
data: {
get_param: 'value'
},
dataType: 'json',
success: function postCat(data) {
if (data && data.categories) {
for (var j = 0; j < data.categories.length; j++) {
var cat1 = data.categories[j].title;
console.log(cat1);
}
}
}
});
}
getAllCat();
希望这有帮助!
答案 2 :(得分:0)
for(int i=0;i<data.categories.length;i++){
var catTitle=data.categories[i].title;
}
console.log(catTitle);