尝试使用AJAX加载json数据时,重新加载javascript函数时出现Jquery错误
我试图用javascript和json可视化一个文件夹结构。它会自动加载文件夹的根目录。当用户单击文件夹时,应加载该文件夹中的文件和文件夹等 深入json的javascript代码运行良好,它使用变量“root”加载json文件的第一个“层”。如果我手动将其更改为“root.deeperFolder”,它将到达该文件夹。那很好尝试使用AJAX加载json数据时,重新加载javascript函数时出现Jquery错误,javascript,jquery,json,ajax,Javascript,Jquery,Json,Ajax,我试图用javascript和json可视化一个文件夹结构。它会自动加载文件夹的根目录。当用户单击文件夹时,应加载该文件夹中的文件和文件夹等 深入json的javascript代码运行良好,它使用变量“root”加载json文件的第一个“层”。如果我手动将其更改为“root.deeperFolder”,它将到达该文件夹。那很好 $.ajax({ type: 'GET', url: 'directory.json', data: { get_param: 'valu
$.ajax({
type: 'GET',
url: 'directory.json',
data: {
get_param: 'value'
},dataType: 'json',
success: buildRoot
});
ajax请求的代码,如果成功,则调用buildRoot函数
function buildRoot(root, clickedFolder){
if (typeof root === 'string') {
var addFolder = "." + clickedFolder;
var stringRoot = root + addFolder;
var root = eval(stringRoot);
console.log(stringRoot);
}
$.each(root, function(index, element){
if (isNaN(index)) {
$("#sideFolderContainer").append("<li class='folder' id=" + index + ">" + index + "</li>");
}
else {
$("#sideFolderContainer").append("<li>" + element + "</li>");
}
});
}
此函数将“更深的文件夹”信息发送到上一个buildRoot函数。buildRoot函数将更深层文件夹的名称添加到root。(root.deeperFolder)手动工作的内容
我想在函数之间传递数据不是问题,因为这样做很好。我在这一行得到了错误:
$.each(root, function(index, element){
这是控制台输出的内容(忽略第一行)。
链接到JSON数据
我建议使用JSON.parse(jsonString)而不是评估 我认为这是一个更好的方法。(参见jQuery)
$.each(root, function(index, element){