Веб-сайт.Проблемы с AJAX и FIREFOX.Я не думаю, что Firefox любит ajax ..? - PullRequest
1 голос
/ 06 апреля 2010

Работа на веб-сайте AJAX (HTML, CSS, JavaScript, AJAX, PHP, MySQL). У меня есть несколько функций javascript, которые берут строки из mysql, оборачивают их в HTML-теги и встраивают их в HTML (обычное использование AJAX).

ПРОБЛЕМА:

Все работает отлично, за исключением случаев, когда я запускаю сайт с Firefox (на этот раз проблема не в InternetExplorer).

Сайт в настоящее время находится в стадии разработки, поэтому он находится в автономном режиме, но работает на локальном хосте (WampServer, apache, Windows XP SP3, VISTA, 7).

Все другие кросс-браузерные конфликты были удалены и отлично работают во всех основных браузерах, включая IE, Chrome, Opera и Safari, но я абсолютно ничего не получаю от HTTPRequest (AJAX), если браузер Firefox.

Все браузеры имеют последние версии.

КОД:

У меня есть ряд функций javascript, все из которых структурированы следующим образом:

function getDatay(){
  var a = document.getElementById( 'item' ).innerHTML;
  var ajaxRequest;
     try{//Browser Support Code:
      // code for IE7+, Firefox, Chrome, Opera, Safari:
      ajaxRequest = new XMLHttpRequest();
     } catch (e){
          // code for IE6, IE5:
      try{
       ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
      } catch (e) {
       try{
        ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
       } catch (e){
        // Something went wrong
        alert("Your browser is not compatible - Browser Incompatibility Issue.");
        return false;
       }
      }
     }
     // Create a function that will receive data sent from the server
     ajaxRequest.onreadystatechange = function(){
      if(ajaxRequest.readyState < 4){
          document.getElementById( 'theDiv' ).innerHTML = 'LOADING...';
      }
          if(ajaxRequest.readyState == 4){
                      document.getElementById( 'theDiv' ).innerHTML =  ajaxRequest.responseText;
      }
     }
     //Post vars to PHP Script and wait for response:
     var url="01_retrieve_data_7.php";
          url=url+"?a="+a;
     ajaxRequest.open("POST", url, false);//must be false here to wait for ajaxRequest to complete.
     ajaxRequest.send(null);
}

Мои деньги находятся на последних пяти строках кода, являющихся причиной проблемы.

Любые предложения о том, как заставить Firefox и AJAX работать вместе, приветствуются ...

Ответы [ 3 ]

6 голосов
/ 06 апреля 2010

Пришлось опубликовать однострочник jquery, в который преобразуется куча кода!

$("#theDiv").text("LOADING...").load("01_retrieve_data_7.php?a="+$("#item").text());
2 голосов
/ 06 апреля 2010

Посмотрите на это: http://translate.google.fr/translate?js=y&prev=_t&hl=fr&ie=UTF-8&layout=1&eotf=1&u=http://www.siteduzero.com/tutoriel-3-100294-l-objet-xmlhttprequest.html&sl=fr&tl=en

Google испортил коды, поэтому взгляните на французскую версию для кодов: http://www.siteduzero.com/tutoriel-3-100294-l-objet-xmlhttprequest.html

0 голосов
/ 06 апреля 2010

Прежде чем исследовать ваш код, обязательно отключите все установленные вами дополнения Firefox. Известно, что и ABP, и Firebug вмешиваются при определенных обстоятельствах, когда FF пытается выполнить js

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