JavaScript: который я должен использовать, Microsoft.Xmlhttp или msxml2 описывается.Для xmlhttp?

есть два progid. Я видел и то, и другое.

У кого-нибудь есть представление о том, когда я должен использовать один против другого?

4 ответов



вы определенно не должны использовать Microsoft.Для xmlhttp.

С блог команды Microsoft XML: использование правильной версии MSXML в Internet Explorer:

MSXML2 против пространства имен Microsoft – Я видел много кода, который инстанцирует "Microsoft.XMLHTTP" Объект ActiveX, а не MSXML2.XMLHTTP.3.0 или MSXML2.XMLHTTP.6.0 Если вы используете 6.0. Пространство имен" Microsoft " на самом деле старше и реализовано только в MSXML3 для поддержки устаревших версий. Это к сожалению, мы использовали "лучшее" имя на более старой версии, но придерживайтесь пространство имен" msxml2 " при создании экземпляра объекты.


может быть, не совсем тот ответ, который вы хотите, но если вы разрабатываете приложение Ajax, я бы сказал, что вы не должны использовать ни один из них : вместо этого вы должны использовать JavaScript-фреймворк, который будет заниматься совместимостью с браузером, а не повторно сражаться в этой битве.

например (есть еще много):

и, как sidenote, они дадут вам много других полезных вещей; -)


этот код заботится как о IE, так и о firefox.

try {
  XMLHttpRequestObject = new ActiveXObject("MSXML2.XMLHTTP");
} catch (exception1) {
  try {
    XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
  } catch (exception2) {
    XMLHttpRequestObject = false;
  }
}

if (!XMLHttpRequestObject && window.XMLHttpRequest) {
  XMLHttpRequestObject = new XMLHttpRequest();
}