Использование XMLHttpRequest.send () в JavaScript - PullRequest
1 голос
/ 13 мая 2010

Как использовать XMLHttpRequest.send()?

Мой код в JavaScript выглядит следующим образом:

str_xml+="<xml_to_be_submitted><request_xml><client_id>"+document.frmCallEntryAdd.cboCLIENT.options[document.frmCallEntryAdd.cboCLIENT.selectedIndex].value+"</client_id></request_xml></xml_to_be_submitted>";
  var obj_http=new ActiveXObject("Microsoft.XMLHTTP");
  var str_url="ClientModuleFetch.aspx";
  var str_http_method="post";
  obj_http.open(str_http_method,str_url,false);
  obj_http.SetRequestHeader("Content-Type","application/x-www-form-urlencoded");
  obj_http.send(str_xml);
  var str_reply=obj_http.ResponseText;


  var xmlResponse = str_reply;

  var objXmlDOM=new ActiveXObject("Microsoft.XMLDOM");

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

Ответы [ 2 ]

1 голос
/ 13 мая 2010

С одной стороны, ваш метод будет работать только в IE (надеюсь, это не для общедоступного веб-сайта). Вторая ошибка, которую я могу заметить, заключается в том, что вы написали SetRequestHeader с большой буквы S. Это должно быть setRequestHeader.

Не могли бы вы опубликовать, какое именно сообщение об ошибке (с номером строки) вы получаете, если оно есть?

0 голосов
/ 13 мая 2010

Ваши опубликованные данные не application/x-www-form-urlencoded, который выглядит следующим образом a=b&c=f.

Ваши опубликованные данные имеют значение application/xml или text/xml, которое обычно не используется с XMLHttpRequest, если вы не создаете пакеты SOAP вручную.

Я полагаю, что вы вызываете конечную точку службы с поддержкой сценариев, которая может принимать параметры в кодировке URL, поэтому возможно, созданный вручную XML не подходит для публикации.

Если нет, вам нужно изучить особый угол ада, зарезервированный для тех, кто настаивает на вызове SOAP из JavaScript. Я не завидую вам. ; -)

С другой стороны, возможно, возвращаемое значение - это XML, который вам нужно будет проанализировать. Я бы предложил использовать более кроссбраузерно-совместимый метод как для построения XMLHttpRequest, так и для синтаксического анализа XML, поскольку ваш код кажется ориентированным на IE.

Кроме того, как отмечалось в другом месте, у вас есть опечатка т. Е. SetRequestHeaders должно быть setRequestHeaders.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...