Я хотел бы отобразить список, когда пользователь печатает текст (например, автозаполнение).Ошибка Javascript с ошибкой с ошибкой xml
Я загружаю xml со списком, и когда пользователь печатает текст, функция javascript выполняет цикл в xml для поиска совпадений.
Все в порядке, за исключением Internet Explorer, где оно ИНОГДА отображает эту ошибку: «SCRIPT65535: Неверный вызывающий объект».
- В первый раз, когда я вызываю функцию js в цикл в xml, всегда работает, но если я дождался 5 секунд, прежде чем вызывать его снова, он будет отправлять ошибку.
- Если я подождал менее 1 секунды, он не отображает ошибку.
Возможно, потому что в цикле я вызываю метод getAttribute() ... когда я удаляю его, нет ошибки.
Thx за помощь!
Вот код:
Ajax загрузки:
var ajax = {};
ajax.getXMLHttpRequest = function(){
var xhr = null;
if(window.XMLHttpRequest || window.ActiveXObject){
if(window.ActiveXObject){
try{
xhr = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e){
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
}
else xhr = new XMLHttpRequest();
}
else return null;
return xhr;
};
ajax.loadFile = function(callback){
var xhr = ajax.getXMLHttpRequest();
xhr.onreadystatechange = function(){
if(xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)){
callback(xhr.responseXML);
xhr = null;
}
};
xhr.open("GET", 'file.xml', true);
xhr.setRequestHeader("Content-Type", "text/xml");
xhr.send(null);
};
ajax.loadFile(callback);
Callback функция:
var xml_nodes = '';
function callback(response){
xml_nodes = response.getElementsByTagName('node');
}
Тогда MouseClick или что-то вызывает эту функцию:
function buttonClick(){
for(var i=0; i<xml_nodes.length; i++){
var attr = xml_nodes[i].getAttribute('attr');
}
}
Поиск похожих ошибок: всегда есть информация об исходном файле и строке. У вас есть что-то подобное в сообщении об ошибке? У вас есть ошибка в файле file.xml? Некоторая плохая формация, дополнительная запятая или подобное? –