У меня странная проблема. В следующем примере кода, если я установил асинхронное значение true, запрос завершится неудачно, и Chrome сообщит мне «не удалось загрузить ресурс». Однако, если я переключу его в синхронный режим, он пройдет нормально.
Кроме того, если я делаю несколько запросов xhr, используя этот код и его значение установлено как асинхронный, все запросы показывают ту же проблему, но последний успешно выполнен. Если я установлю xhr на синхронный (то есть false), тогда все запросы пройдут нормально.
Всем, кто скажет: «Просто используйте jQuery», это для проекта, который должен работать независимо от каких-либо библиотек. Я люблю jQuery, но не для этого.
Я тестирую это в Chrome6.0.458.1 и Firefox 3.6.4. Вот код:
var xhr = window.XMLHttpRequest?
new XMLHttpRequest():
new ActiveXObject('Microsoft.XMLHTTP');
var doxhr = function(url,cb){
xhr.open('get',url,true);
xhr.onreadystatechange = function(ev){
console.log(xhr.readyState, xhr.status );
//if(xhr.readyState === 4 && xhr.status === 200){
// cb(xhr.responseText);
//}
}
xhr.send(null);
}