Okay, quindi sto provando a estrarre i dati da un file JSON che contiene lo stato di alcuni LED, ecc. Ho uno script che viene eseguito alcune volte al secondo e carica i dati e la pagina Web lo carica. Il problema è che dopo circa 20 volte il server che legge il file JSON, alla fine genererà questo errore.SyntaxError: JSON.parse: fine dei dati inaspettata alla riga 1 colonna 1 dei dati 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);
}
});
})();
});
Il file JSON assomiglia a questo:
{ "led_1": "on", "led_2": "on", "led_3": "on" }
Mi sembra che i dati JSON è sempre formattata correttamente. Non capisco da dove viene l'errore. Qualche idea?
O gettare un punto di interruzione all'inizio della funzione, o guardare il traffico di rete nella scheda di rete, e vedere ciò che i dati sembra come prima di un errore. Se succede solo una volta su 20, probabilmente il tuo codice va bene e i dati non devono essere inseriti correttamente. –
Hai visto quali dati ci sono prima dell'errore? 'console.log (dati);' Sei sicuro che il server non restituisca qualcosa di diverso? – epascarello
A volte ricevo una sessione che i file tmp cancellano il messaggio fallito dopo un paio di richieste. Forse qualcosa sta rovinando la risposta. – Mouser