Được rồi vì vậy tôi đang cố gắng lấy dữ liệu từ tệp json chứa trạng thái của một vài đèn LED, v.v. Tôi có một tập lệnh chạy một vài lần một giây và kéo dữ liệu và trang web tải nó. Vấn đề là, sau khoảng 20 lần máy chủ đọc tệp json, cuối cùng nó sẽ ném lỗi này.Cú phápError: JSON.parse: kết thúc dữ liệu bất ngờ tại dòng 1 cột 1 của dữ liệu JSON
SyntaxError: JSON.parse: unexpected end of data at line 1 column 1 of the JSON data
// For toggling the LED/switch status indicators using the json data
$(document).ready(function() {
(function worker() {
$.ajax({
url: 'server_info.json',
success: function(data) {
var json = $.parseJSON(data);
console.log(json);
if (json.led_1 == "off") {
// do stuff
}
if (json.led_2 == "off") {
// do stuff
}
if (json.led_3 == "off") {
// do stuff
}
},
complete: function() {
// Schedule the next request when the current one's complete
setTimeout(worker, 250);
}
});
})();
});
Các tệp json trông như thế này:
{ "led_1": "on", "led_2": "on", "led_3": "on" }
Dường như với tôi rằng các dữ liệu json luôn định dạng đúng. Tôi không hiểu được lỗi xuất phát từ đâu. Ý tưởng nào?
Hoặc ném một breakpoint ở phần đầu của hàm, hoặc xem lưu lượng mạng trong tab mạng của bạn, và xem những gì dữ liệu trông giống như trước một lỗi. Nếu nó chỉ xảy ra 1 lần trong 20, mã của bạn có lẽ là tốt, và dữ liệu không được đến đúng. –
Bạn có nhìn vào dữ liệu nào trước lỗi không? 'console.log (dữ liệu);' Bạn có chắc máy chủ không trả về cái gì khác? – epascarello
Đôi khi tôi nhận được tệp tmp phiên làm rõ thông báo không thành công sau một vài yêu cầu. Có lẽ một cái gì đó là screwing lên phản ứng. – Mouser