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. Nó có lẽ chỉ là một lỗi nhỏ nhưng tôi không thể tìm thấy nó.Tải tệp JSON cục bộ vào biến
Tất cả mọi thứ chỉ 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"}}]
}
Vì vậy, tôi đặt tất cả mọi thứ đó là trong {} trong một file content.json và cố gắng để tải đó vào một biến javascript địa phương như đã giải thích ở đây : load json into variable
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ó bằng trình gỡ lỗi chrome và luôn cho tôi biết rằng giá trị của biến json là null. Content.json nằm trong cùng thư mục với tệp .js đang gọi nó.
Tôi đã bỏ lỡ điều gì?
Url tệp của bạn là '/ 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ành 'content.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 tin kịch bản của bạn được đặt. Chỉ trong trường hợp nếu tập lệnh của bạn nằm trong thư mục cấp cơ sở thì nó sẽ hoạt động. – Samich
tệp nằm trong WebContent \ jit \ content.json .. Tôi đã thử 'url': "/WebContent/jit/content.json", nhưng biến vẫn là null – PogoMips