좋아요. 그래서 몇 개의 LED 등의 상태를 보유하고있는 json 파일에서 데이터를 가져 오려고합니다. 스크립트가 있습니다. 초당 몇 번 실행되고 데이터를 가져오고 웹 페이지가 데이터를로드합니다. 문제는 약 20 번 이상 서버가 json 파일을 읽은 후에 결국이 오류가 발생합니다.SyntaxError : JSON.parse : JSON 데이터의 1 행 1 열의 데이터가 예기치 않게 끝납니다.
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);
}
});
})();
});
JSON 파일은 다음과 같습니다
{ "led_1": "on", "led_2": "on", "led_3": "on" }
JSON 데이터가 항상 올바른 형식의 것을 날 것으로 보인다. 오류가 어디서 왔는지 이해하지 못합니다. 어떤 아이디어?
어느 함수의 시작 부분에 중단 점을 던져, 또는 네트워크 탭에서 네트워크 트래픽을보고, 어떤 데이터를 볼 : 나는 짓을했는지
있는 유일한 방법은이 단락 주석을 제거하는 것입니다 오류 이전처럼 보입니다. 20 번에 1 번만 발생하면 코드가 정상적으로 작동하고 데이터가 올바르게 들어오지 않아야합니다. –
오류 전의 데이터는 무엇입니까? 'console.log (data);'서버가 다른 것을 반환하지 않는 것이 확실합니까? – epascarello
몇 가지 요청을 한 후 때때로 tmp 파일을 통해 세션을 가져 오지 못했습니다. 어쩌면 뭔가가 응답을 망칠 수 있습니다. – Mouser