Веб-работник Javascript не загружает XML-файл через XMLHttpRequest

Я изо всех сил пытаюсь заставить веб-мастера загрузить XML-файл из того же домена на стороне моей главной страницы, любая помощь будет принята с благодарностью.

function readXML(){
 var xhr = new XMLHttpRequest(); //Only for FF
 xhr.open("GET","../db/pointer.xml",true);
 xhr.send(null);
 xhr.onreadystatechange = function(e){

 if(xhr.status == 200 && xhr.readyState == 4){
    //Post back info to main page
    postMessage(xhr.responseXML.getElementsByTagName("value").length);
 }
}

Когда это выполняется в теге скрипта на главной странице, я получаю 3. При запуске через WebWorker FireBug дает мне

hr.responseXML is null

postMessage (xhr.responseXML.getElementsByTagName ("value"). Length);

В консоли FireBug запрос GET ответил



    A value
    Another Value
    A third Value

Итак, ответ правильный, но я не могу понять, где что-то не так. Если я изменю responseXML на responseText, рабочий выводит

значение Другое значение Третье значение

Что правильно! почему скрипт не открывает его как XML-документ?

ОБНОВЛЕНИЕ

function readXML(){
 var xhr = new XMLHttpRequest(); //Only for FF
 xhr.open("GET","../db/pointer.xml",false);
 xmlhttp.setRequestHeader('Content-Type',  'text/xml');
 xhr.overrideMimeType('text/xml');
 xhr.send(null);
 xhr.onreadystatechange = function(e){

 if(xhr.status == 200 && xhr.readyState == 4){
    //Post back info to main page
    postMessage(xhr.responseXML.getElementsByTagName("value").length);
 }
}

При изменении setRequestHeader и overrideMimeType onreadystatechange никогда не срабатывает, независимо от того, присутствуют ли status и readyState, он не запускается. Если я полностью удалю onreadystatechange и просто запустил xhr.responseXML, я снова получу нулевую ошибку.

Я все еще получаю правильный XML в качестве ответа в консоли. Это проблема веб-работника, а не проблема httprequest? В отчаянии здесь :)

index.html http://www.axlonline.se/worker/index.html
worker.js http://www.axlonline.se/worker/ рабочий.js

6
задан axlOnline 31 January 2012 в 15:31
поделиться