ошибка: невозможно создать объект сервером программирования объектов

clevel

Новичок
ошибка: невозможно создать объект сервером программирования объектов

выдает эту ошибку на строке:
var cnt = new ActiveXObject("Msxml2.XMLHTTP");
в js, у меня в 5 ослике все работает прекрасно, у клиента на этом же ослике выдает данную ошибку.
В какую сторону копать? (может от операционки зависит? у мен 98 мастдай. у клиента NT)
 

Андрей М.

Guest
Настройки: ActiveX могут быть запрещены.
MSXML на самом деле достаточно и 2й версии :) для xmlhttp
 

clevel

Новичок
установил клиент четвертую версию, ошибка не исчезла...
тут прочитал, что надо писать var cnt = new ActiveXObject("Msxml2.XMLHTTP4.0");
но это получается, что у всех должен быть 4.0 ПО установлен.
Подскажите, как быть..
 

[DAN]

Старожил PHPClub
A client computer can use the XMLHTTP object (MSXML2.XMLHTTP.4.0) to send an arbitrary HTTP request, receive the response, and have the Microsoft® XML Document Object Model (DOM) parse that response.

This object is integrated with Microsoft® XML Core Services (MSXML) to support sending the request body directly from, and parsing the response directly into, the MSXML DOM objects.

PHP:
<script language="JScript">
  function PostOrder(xmldoc)
  {    
    var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP.4.0");
    xmlhttp.Open("POST", "http://myserver/orders/processorder.asp", false);
    xmlhttp.Send(xmldoc);
    return xmlhttp.responseXML;
  }
</script>
The XMLHTTP object is supported in Microsoft Internet Explorer 5.0 or later.

Implementation: msxml4.dll, msxml2.lib
Header and IDL files: msxml2.h, msxml2.idl
Version-Dependent ProgID: Msxml2.XMLHTTP.4.0
Version-Dependent CLSID: 88D969C5-F192-11D4-A65F-0040963251E5

У меня всё прекрасно работает.
 

clevel

Новичок
у меня на локалке вин 98, ослик 5.0, при записи var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP.4.0"); выдает ошибку, обозначенуую в названии топика, если убираю версию 4.0, то все прекрасно работает..
у клиента(NT, ослик 5.0) все наоборот - сначало вообще выдавал ошибку, после того, как установил он на своем компе 4.0 MXML+ я в его скрипт поставил var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP.4.0"); у него все заработало.
Но! хочется, чтобы было меньше головных болей, например, в скрипте определять, какая версия - если есть 4.0, ставим этот номер при вызове активикс, если нет, но есть возможность вызывать Msxml2.XMLHTTP.4.0, вызываем без номера версии, если совсем глухо, отсылаем на страницу upgrade MXML.
 

Андрей М.

Guest
у него наверное вообще никакой версии MSXML не стоит, или стоит но меньше чем 2. У меня например работают оба варианта. А как определить: разве что с помощью исключений

Код:
try {
     var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP.4.0"); 
} catch(e) {
     //обрабатываем ошибку
}
 

clevel

Новичок
у него наверное вообще никакой версии MSXML не стоит
у меня мсдн 2001 года, там сказано, что мксмл поддерживается с ослика 5.0 версия 3.0... как у него не могла ничего не стоять? и почему у меня третья версия стоит? (тогда и у меня ничего не должно быть)...
просто мне хочется, чтобы юзеру не нужно ничего было устанавливать... он просто работает через браузер, и все ...
 
Сверху