В дополнение к ответу выше вы должны рассмотреть
1. различное поведение IE в вызовах AJAX (кеш) и
2. вы должны передать DOM (Node) в функцию обратного вызова; в противном случае функция
не удастся
3. Еще один недостаток этого подхода в IE заключается в том, что для строк существует ограничение на его преобразование в объекты XML DOM. Это означает, что существует ограничение на размер файлов KML, которые можно загружать и отображать таким образом. Я использовал эту модификацию в geoxml3, чтобы Ajax-вызовы в IE работали:
geoXML3.fetchXML = function (url, callback) {
function timeoutHandler() {
callback();
};
$.ajax({
type: "GET",
cache: false,
url: url,
success: function(xml) {
var xmldom = createXMLDocument(xml);
callback(xmldom);
}
});
Для преобразования строки в XML DOM посмотрите здесь http://www.w3schools.com/dom/dom_parser.asp
function createXMLDocument(strResponse)
{
if (window.DOMParser)
{
parser=new DOMParser();
xmlDoc=parser.parseFromString(strResponse,"text/xml");
} else // Internet Explorer
{
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async=false;
xmlDoc.loadXML(strResponse);
}
return xmlDoc;
}