2012-06-29 4 views
0

Так что мой код вызывает файл на моем сервере «zom3.ms3d», который я подтвердил, и вы тоже можете вместе со всем исходным кодом для этого. (Http://www.pso2u.com)XMLHttpRequest продолжает возвращаться null

Это код в вопросе:

function getMs3dModel(model, name){ 
     var xhr = new XMLHttpRequest(); 
     xhr.open('GET', name, true); 
     xhr.responseType = 'arraybuffer'; 
     xhr.onload = function(e) { 
      parseBinFile(model, name, this.response); 
     }; 
     xhr.send(); 
    } 

И это, где он печатает содержимое (или первые 10 байт из этого)

function parseBinFile(model, name, buffer){ 

     var headerStr = new DataView(buffer, 0, 10); 
     console.log(headerStr); 
    } 

Почему мой запрос возвращается null?

+0

Какой браузер вы используете? Запуск Safari на Mac - это буфер массива длиной 99113 байта. Это звучит так, как вы ожидали. – andypaxo

+0

Использование firefox 15.0a2: < – CyanPrime

ответ

0

Попробуйте использовать xhr.response, а не this.reponse, как это было предложено this MDN article

+0

Это не работает в firefox 15.0a2 – CyanPrime

0

Какой браузер вы используете? xhr.onload является частью уровня XMLHttpRequest 2. Вот список браузеров поддерживает его: http://caniuse.com/xhr2

Ваш код выглядит хорошо, хотя я хотел бы использовать xhr.response, не this.response (я вообще избежать " это «в наши дни».

+0

Aurora (Firefox) 15.0a2 (2012-06-28) – CyanPrime

Смежные вопросы