javascript - example - xmlhttprequest json
El objeto xmlhttprequest funciona pero no da salida en respuesta? (2)
Tengo el siguiente código en el que hago una llamada al script getlink.php
para obtener un enlace del archivo dado. Pero cuando lo hago, alert(xhr.responseText)
no muestra nada. Pero si console.log("my object: %o", xhr);
en la consola como console.log("my object: %o", xhr);
da campo responseText
. el código es:
function linkFile(file) {
uri = "http://localhost/imgbag/getlink.php";
var xhr = new XMLHttpRequest();
var formdata= new FormData();
formdata.append("linkFile",file);
xhr.open("POST", uri, true);
xhr.send(formdata);
console.log("my object: %o", xhr);
}
Defina el atributo de onload
esta manera:
xhr.onload = function () {
alert(xhr.responseText);
}
Esto garantiza que la alert
se realice solo después de que la solicitud se haya completado con éxito.
Fuentes: MDN
cuando usa true en xhr.open, lo configura para que sea asincrónico, lo que significa que la respuesta volverá más tarde y deberá recopilarlo adjuntando un oyente.
Si configura ese parámetro en falso, su código funcionará (pero no será asincrónico y se bloqueará en la llamada (lo que significa que permanecerá allí hasta que vuelva la respuesta)
a continuación se explica cómo agregar un oyente (porque su enfoque asíncrono es el mejor) ... http://www.w3schools.com/ajax/ajax_xmlhttprequest_onreadystatechange.asp