ฉันพยายามโหลดไฟล์. json ลงในตัวแปรใน javascript แต่ไม่สามารถใช้งานได้ อาจเป็นเพียงข้อผิดพลาดเล็กน้อย แต่หาไม่พบ
ทุกอย่างทำงานได้ดีเมื่อฉันใช้ข้อมูลคงที่เช่นนี้:
var json = {
id: "whatever",
name: "start",
children: [{
"id": "0.9685",
"name": " contents:queue"
}, {
"id": "0.79281",
"name": " contents:mqq_error"
}
}]
}
ผมใส่ทุกอย่างที่อยู่ใน{}
ในcontent.json
ไฟล์และพยายามที่จะโหลดที่เป็นตัวแปร JavaScript ในท้องถิ่นตามที่อธิบายไว้ที่นี่: โหลด JSON ลงในตัวแปร
var json = (function() {
var json = null;
$.ajax({
'async': false,
'global': false,
'url': "/content.json",
'dataType': "json",
'success': function(data) {
json = data;
}
});
return json;
})();
ฉันวิ่งด้วยดีบัก Chrome และก็มักจะบอกว่าคุ้มค่าของตัวแปรคือjson
อยู่แฟ้มในไดเรกทอรีเดียวกันกับแฟ้ม .js ที่เรียกมันว่าnull
content.json
ฉันพลาดอะไร?
/content.json
ซึ่งหมายความว่าไฟล์นั้นอยู่ในระดับรูทของเว็บแอปของคุณ เปลี่ยนเป็นcontent.json
(ไม่มีเครื่องหมายทับ) เพื่อชี้ไปยังไดเร็กทอรีเดียวกันกับที่วางไฟล์สคริปต์ของคุณ เฉพาะในกรณีที่ไฟล์สคริปต์ของคุณอยู่ในไดเร็กทอรีระดับรูทมันจะใช้งานได้