"O objecto não suporta esta propriedade ou método" Erro AJAX no IE 7,8 e 9

votos
3

Eu vi esse erro relatado algumas vezes, mas não encontrei uma solução ainda - aqui está o meu cenário.

Eu estou usando uma chamada de AJAX que funciona perfeitamente no FF, Safari, Chrome e IE6. No entanto no IE8, IE7 e IE9 Estou recebendo o seguinte erro, então a página apenas paira sobre o carregador AJAX .gif eu configurei:

Line: 84
Char: 3
Error: Object doesn't support this property or method

O script em questão parece envolver o seguinte:

function placeMarkers() {

if (window.XMLHttpRequest)
{ // code for IE7+, Firefox, Chrome, Opera, Safari
    var xmlhttp=new XMLHttpRequest();
}
else
{ // code for IE6, IE5
    var xmlhttp=new ActiveXObject(Microsoft.XMLHTTP);
}

xmlhttp.open(GET,/maps/items.xml.php?childcare=<?php echo $_GET['childcare'];?>,false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML; 
}

Quando eu atualizar a página no IE9 o script parece funcionar, mas não quando uma pesquisa é realizada utilizando o formulário.

A linha que se refere o erro é:

 var xmlhttp=new XMLHttpRequest();
  • Só para sua informação, o arquivo XML que o script abre, é gerado com PHP porque ele é gerado em função de uma querystring $ _GET.

  • Além disso, tenho duas outras funções AJAX na página, que tanto fazem a verificação do navegador como o descrito acima faz - não tenho certeza se isso iria causar um problema?

  • O site é construído em uma instalação do Wordpress.

  • O site inclui JQuery e scripts de API do Google Maps (embora eu não vejo como isso poderia causar um problema?)

Se alguém tiver alguma idéia, por favor, deixe-me saber - isso é tudo que eu preciso para corrigir para obter um projeto completo. Também deixe-me saber se você precisar de mais alguma informação, e eu vou fornecê-la.

Publicado 27/06/2011 em 09:51
usuário
Em outras línguas...                            


1 respostas

votos
1

Depois de trabalhar durante todo o dia sobre isso, eu finalmente foi capaz de resolvê-lo - usar jQuery AJAX em vez de JavaScript. mais fácil incrivelmente e muito melhor suportada. (@mkilmanas obrigado)

Eis alguns tutoriais realmente achou que eu usei:

http://kyleschaeffer.com/best-practices/the-perfect-jquery-ajax-request/

http://www.xml.com/pub/a/2007/10/10/jquery-and-xml.html

http://www.vagrantradio.com/2009/10/how-to-parse-xml-using-jquery-and-ajax.html

http://api.jquery.com/jQuery.ajax

Basicamente, todos os usuários JavaScript AJAX, se você receber esse problema - a maneira mais rápida de fazê-lo funcionar é mudar sua AJAX chamadas para JQuery e você terá que trabalhar dentro de minutos!

Respondeu 27/06/2011 em 13:44
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more