проблемы с ajax? с активными объектами - PullRequest
5 голосов
/ 20 апреля 2009

Я получаю следующие ошибки:

необработанное исключение: [Exception ... "Компонент возвратил код ошибки: 0x80004005 (NS_ERROR_FAILURE) [nsIXMLHttpRequest.send]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" расположение: "JS frame :: http://site/cms/js/interface.js :: doAjaxCall :: строка 300 "данные: нет]

необработанное исключение: [Exception ... "Компонент возвратил код ошибки: 0x80004005 (NS_ERROR_FAILURE) [nsIXMLHttpRequest.send]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" расположение: "JS frame :: http://site/cms/js/interface.js :: doAjaxCall :: строка 300 "данные: нет]

Строка 0

Это функция с doAjaxCall

function doAjaxCall(cmd,params) {
  var postdata='cmd='+cmd+'&params='+params;

  var a=sajax_init_object();
  if (a) {
    a.open("POST","ajax_handler.php", false);
    a.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    a.send(postdata);                      <====Line 300
      document.body.style.cursor="default";

    if(a.readyState == 4) {
      return a.responseText;
    } else {
      alert("We where unable to execute the ajax call.");
    }
  }

function sajax_init_object() {
    var A;
    try {
        A=new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
        try {
            A=new ActiveXObject("Microsoft.XMLHTTP");
        } catch (oc) {
            A=null;
        }
    }
    if(!A && typeof XMLHttpRequest != "undefined")
        A=new XMLHttpRequest();
    if (!A)
        alert("Could not create connection object.");
    return A;
}

Есть идеи?

Ответы [ 2 ]

1 голос
/ 17 октября 2010

Из-за ограничений безопасности в Javascript невозможно получить информацию из удаленных доменов через XMLHttpRequest. Я думаю, что вам нужен прокси!

0 голосов
/ 22 декабря 2011

Это связано с типом MIME: application / x-www-form-urlencoded

Работает в некоторых браузерах. Это не будет работать в браузерах на основе Gecko (например, Firefox)

Подробнее см .: http://ajaxpatterns.org/Talk:XMLHttpRequest_Call

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