xhr et json
Le
Une Bévue

j'ai suivi l'article :
<http://mathiasbynens.be/notes/xhr-responsetype-json>
pour réaliser un petit test.
sur Ubuntu avec Firefox Aurora et Opera Next ça roule.
mais ça ne marche pas avec Chromium (data.ip est à undefined).
quelque a testé ce genre de chose ?
le code est "tout bête" :
// see http://mathiasbynens.be/notes/xhr-responsetype-json
var getJSON = function(url, successHandler, errorHandler) {
//var xhr = new XMLHttpRequest();
var xhr=Xhr();
xhr.open('get', url, true);
xhr.responseType = 'json';
xhr.onload = function() {
var status = xhr.status;
if (status == 200) {
successHandler && successHandler(xhr.response);
} else {
errorHandler && errorHandler(status);
}
};
xhr.send();
};
function start(){
getJSON('http://mathiasbynens.be/demo/ip', function(data) {
document.getElementById('log').innerHTML='Your public IP
address is: ' + data.ip;
});
}
function Xhr(){
try { return new XMLHttpRequest(); } catch (e) { } // Standard
try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { }
try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { }
return null;
}
window.onload=start;
<http://mathiasbynens.be/notes/xhr-responsetype-json>
pour réaliser un petit test.
sur Ubuntu avec Firefox Aurora et Opera Next ça roule.
mais ça ne marche pas avec Chromium (data.ip est à undefined).
quelque a testé ce genre de chose ?
le code est "tout bête" :
// see http://mathiasbynens.be/notes/xhr-responsetype-json
var getJSON = function(url, successHandler, errorHandler) {
//var xhr = new XMLHttpRequest();
var xhr=Xhr();
xhr.open('get', url, true);
xhr.responseType = 'json';
xhr.onload = function() {
var status = xhr.status;
if (status == 200) {
successHandler && successHandler(xhr.response);
} else {
errorHandler && errorHandler(status);
}
};
xhr.send();
};
function start(){
getJSON('http://mathiasbynens.be/demo/ip', function(data) {
document.getElementById('log').innerHTML='Your public IP
address is: ' + data.ip;
});
}
function Xhr(){
try { return new XMLHttpRequest(); } catch (e) { } // Standard
try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { }
try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { }
return null;
}
window.onload=start;
suffisamment conduire par ton observation.
ce qu'il faut faire, c'est ouvrir la console javascript pour voir les
erreurs dedans. chez moi, j'ai ceci :
"XMLHttpRequest.responseType "json" is not supported."
tu peux ensuite chercher cette erreur sur google, et tu tomberas sur un
lien genre :
http://stackoverflow.com/questions/9845401/xmlhttprequest-responsetype-json-giving-error-syntax-err-dom-exception-12
la-bas, ils suggerent que "responseType" n'est pas supporte par tous les
navigateurs. tu peux ensuite essayer leur solution, et tu verras qu'elle
fonctionne.
On 2013-10-05, Une Bévue
c'est ben vrai ça !
tu ne te laisses pas
je n'utilise pas assez la console...
oui, oui, j'utilise JSON.parse...
avec responseText.