powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / XMLHttpRequest
9 сообщений из 9, страница 1 из 1
XMLHttpRequest
    #34992291
Guest2222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Под Firefox создаю объект
request = new XMLHttpRequest();

Последующий вызов
request.open("POST", sUrl, true); генерирует ошибку.

В чём проблема?

Под IE:
request = new ActiveXObject("Msxml2.XMLHTTP");
request.open("POST", sUrl, true);

Проблем нет

PS. Под Windows CE 4.2 При создании объекта возникает ошибка:
request = new ActiveXObject("Msxml2.XMLHTTP");
или
request = new ActiveXObject("Microsoft.XMLHTTP");
...
Рейтинг: 0 / 0
XMLHttpRequest
    #34993121
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IE игнорирует метод отправки, если нет заголовков, а фирефох - нет. Просто замени POST на GET (или используй request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")).
...
Рейтинг: 0 / 0
XMLHttpRequest
    #34993176
Guest2222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мне нужно отправить запрос (по протоколу SOAP) конечной точке MS SQL Server (аналогично Web Service). Пример в книге (для MS Explorer конечно же):

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
			request.open("POST", sUrl, true);
			request.onreadystatechange = updatePage;
			
			request.setRequestHeader("Accept","text/xml");
			request.setRequestHeader("Content-Type","text/xml");
			request.setRequestHeader("Cache-Control","no-cache");
		
			var requestBody = new ActiveXObject("MSXML2.DOMDocument");
			requestBody.loadXML(SoapEnvelope(sMsg));		
			
			request.send(requestBody);


А я хочу что бы работало во всех браузерах.
...
Рейтинг: 0 / 0
XMLHttpRequest
    #34995477
karambol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот обрезок из AJAX

Код: plaintext
1.
2.
3.
4.
var userAgent = { };
userAgent.isAJAX  = (createXMLHttpRequest()?true:false);
userAgent.isMozilla  = (navigator.userAgent.match(/\bGecko\b/));
userAgent.isOpera  = (navigator.userAgent.match(/\bOpera\b/));
userAgent.isInternetExplorer  =(navigator.userAgent.match(/\bMSIE\b/) && !userAgent.isOpera);

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
function createXMLHttpRequest() {
  var xmlReq = false;
  // branch for native XMLHttpRequest object
  if(window.XMLHttpRequest) {
    try {
      xmlReq = new XMLHttpRequest();
    } catch(e) {
      xmlReq = false;
    }
  // branch for IE/Windows ActiveX version
  } else if(window.ActiveXObject) {
    try {
      xmlReq = new  ActiveXObject("Msxml2.XMLHTTP");
    } catch(e) {
      try {
        xmlReq = new  ActiveXObject("Microsoft.XMLHTTP");
      } catch(e) {
        xmlReq = false;
      }
    }
  }
  return xmlReq;
}

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
function callServer(method, url, data, dataType, func, arg) {
  if (!method) method='GET';
  if (data && !dataType)  dataType='application/x-www-form-urlencoded';
  var xmlReq = createXMLHttpRequest();
  if(xmlReq) {
    xmlReq.onreadystatechange = function() {
      // only if xmlReq shows "loaded"
      if (xmlReq.readyState ==  4 ) {
        func(arg, xmlReq.responseText,  xmlReq.responseXML,
             xmlReq.status, xmlReq.statusText);
      }
    }
    xmlReq.open(method, url, true);
    if (userAgent.isMozilla) dataType=dataType+';charset=utf-8';
    xmlReq.setRequestHeader('Content-Type',  String(dataType));
    xmlReq.send(data);
    return false;
  }
  return true;
}

Час пик b4b Пластик
...
Рейтинг: 0 / 0
XMLHttpRequest
    #34995491
apapacy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотрите конкретно - какая строка вылетает.
Похоже это
requestBody.loadXML(SoapEnvelope(sMsg));
Если Вы хотите кроссбоаузерно передавайте в стрковом параметре.
...
Рейтинг: 0 / 0
XMLHttpRequest
    #34997235
Guest2222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
apapacyПосмотрите конкретно - какая строка вылетает.
Похоже это
requestBody.loadXML(SoapEnvelope(sMsg));
Если Вы хотите кроссбоаузерно передавайте в стрковом параметре.

Вылетает: request.open("POST", sUrl, true);
...
Рейтинг: 0 / 0
XMLHttpRequest
    #34999370
apapacy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В приведенном коде ошибок нет. Выложите файлы. (В архиве или на сайте - посмотрю)
...
Рейтинг: 0 / 0
XMLHttpRequest
    #35000243
Guest2222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
apapacyВ приведенном коде ошибок нет. Выложите файлы. (В архиве или на сайте - посмотрю)
Выкладываю
...
Рейтинг: 0 / 0
XMLHttpRequest
    #35002465
apapacy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Похоже у Вас срабатывает защита "песочницы". Адрес, открываемый Ajax-запросом должен быть из того же домена. Во всяком случае так происходит у меня, когда я открываю http://term-srvr/test1/, хотя из сообщения отладчика это не следует. "Песочница" является реальным препятствием для исползования веб-сервисов напрямую из Ajax. Наиболее просто обращаться к веб-сервисам со своего веб-сервера и передавать ответ браузеру.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / XMLHttpRequest
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]