Tôi đang cố gắng tải tệp .json vào một biến trong javascript, nhưng tôi không thể làm cho nó hoạt động. Chắc chỉ là một lỗi nhỏ nhưng tôi không tìm ra được.
Mọi thứ hoạt động tốt khi tôi sử dụng dữ liệu tĩnh như thế này:
var json = {
id: "whatever",
name: "start",
children: [{
"id": "0.9685",
"name": " contents:queue"
}, {
"id": "0.79281",
"name": " contents:mqq_error"
}
}]
}
Tôi đặt mọi thứ có {}
trong một content.json
tệp và cố gắng tải nó vào một biến JavaScript cục bộ như được giải thích ở đây: tải json vào biến .
var json = (function() {
var json = null;
$.ajax({
'async': false,
'global': false,
'url': "/content.json",
'dataType': "json",
'success': function(data) {
json = data;
}
});
return json;
})();
Tôi đã chạy nó với trình gỡ lỗi Chrome và nó luôn cho tôi biết rằng giá trị của biến json
là null
. Các content.json
cư trú tập tin trong cùng thư mục với file .js mà các cuộc gọi nó.
Tôi đã bỏ lỡ cái gì?
/content.json
có nghĩa là tệp đó ở cấp gốc của ứng dụng web của bạn. Thay đổi thànhcontent.json
(không có dấu gạch chéo) để trỏ nó vào cùng một thư mục nơi tệp script của bạn được đặt. Chỉ trong trường hợp nếu tệp script của bạn nằm trong thư mục cấp gốc, nó sẽ hoạt động.