【发布时间】:2017-05-10 20:30:24
【问题描述】:
大家好,我在 Apache Cordova 中制作手风琴菜单(嵌套)时遇到问题。 我必须使用两个 getjson 来获取类别和子类别。 第一个函数的中间我调用第二个函数来获取子类别,但是第二个函数没有返回我最喜欢的包含 htmlSubCategories 的字符串,它返回未定义的值
//Function 1
var Categoriesdata = [];
function getCategories()
{
var htmlCategories = "";
$.getJSON('http://example.com/Categories', null, function (Categoriesdata) {
for (var i = 0; i < Categoriesdata.length ; i++)
{
{
htmlCategories += "<li>";
htmlCategories += "<a href='#'> " + Categoriesdata[i].Text + "</a>";
htmlCategories += getCategoriesRev(Categoriesdata[i].Id);
htmlCategories += "</li>";
}
}
$(".Categories").html(htmlCategories);
});
}
//Function 2
function getCategoriesRev(Id)
{
var htmlSubCategories = "";
$.getJSON('http://example.com/CategoriesRev', { id: Id }, function (CategoriesdataRev) {
if (CategoriesdataRev.length > 0)
{
for (var j = 0; j < CategoriesdataRev.length; j++) {
htmlSubCategories += "<li>";
htmlSubCategories += "<a href='#'> " + CategoriesdataRev[j].Text + "</a>";
htmlSubCategories += getCategoriesRev(CategoriesdataRev[j].Id);
htmlSubCategories += "</li>";
}
htmlSubCategories = "<ul class='submenu'>" + htmlSubCategories + "</ul>";
}
return htmlSubCategories;
});
}
【问题讨论】:
-
你的问题不清楚,请解释清楚
-
您是否尝试过在第二个函数的末尾添加
.always(data)并返回其中的值?这样,您应该能够在数据准备就绪时返回数据。 -
这部分是什么:
$.getJSON('CategoriesRev'应该做什么? -
@vahdet 可以描述更多
-
您的两个函数都调用相同的数据并且您没有添加任何不同的元素来在您的应用程序中设置数据,您正在调用相同的函数
getCategoriesRev并使用未定义的i在你的第二个功能!首先更正您自己的代码,然后让我们知道它是否有效。
标签: javascript function cordova getjson