Necesito enviar información desde el sitio web al servidor, lo cual ya hice con el siguiente código,
<!DOCTYPE html> <html> <script> //her definere vi varibaler var Network = {"name":"", "password":""} var json; var xhr = new XMLHttpRequest(); var Json = JSON.stringify(Network) //her definere vi en funktion, som laver pop up boxes function Info(sp) { let svar = prompt(sp, "skriv information her"); return svar } //her kopiere vi data fra pop boksene over i javascript objekt Network.name = Info("Indtast internet navn"); Network.password = Info("Indtast internet adgangskode"); //her logger vi objektet i consolen console.log(Network); //her sender vi netværks navnet og netværks adgangskoden til esp'en xhr.open("GET", "/network?Json="+Json+"}", true); xhr.send(); </script> </html>Este código funciona, pero aquí hay un problema que no sé si es un error o un error que causa el problema. Recibo el siguiente error en mi esp8266 de la biblioteca ArduinoJson cuando deserializo el objeto Json, el error es IncompleteInput. El problema es claro cuando miro AJAX request AJAX request . Es fácil ver que al texto le falta el final, que es lo que creo que está causando el error. La razón por la que creo eso es que cuando escribo algo manualmente, funciona de maravilla. La pregunta es como lo arreglo.
La solución para mi problema se encontró en la página HTML que mostré en la publicación. El usuario romkey me dijo que analizara la cadena desde fuera de la función donde abro el objeto XML. Esto funcionó de inmediato. Este es el código que resolvió el problema.
<!--Her fortællers der, hvilket form for dokumnet det er--> <!DOCTYPE html> <html> <script> //her definere vi varibaler var Network = {"name":"", "password":""} var xhr = new XMLHttpRequest(); var Json; var url; //her definere vi en funktion, som laver pop up boxes function Info(sp) { let svar = prompt(sp, "skriv information her"); return svar } //her kopiere vi data fra pop boksene over i javascript objekt Network.name = Info("Indtast internet navn"); Network.password = Info("Indtast internet adgangskode"); //her logger vi objektet i consolen console.log(Network); // her parser vi Netowrk objektet over i JSON (JavaScriptObjektNotation) Json = JSON.stringify(Network) url = "/network?Json="+Json //her sender vi netværks navnet og netværks adgangskoden til esp'en xhr.open("GET", url, true); xhr.send(); </script> </html>