2010-04-06 4 views
1

AJAX 웹 사이트에서 작업하기 (HTML, CSS, JavaScript, AJAX, PHP, MySQL). mysql에서 행을 가져 와서 html 태그로 감싸고 HTML (AJAX의 일반적인 사용법)에 포함시키는 여러 가지 JavaScript 함수가 있습니다.웹 사이트. AJAX 및 FIREFOX 문제. 나는 파이어 폭스가 아약스를 좋아한다고 생각하지 않는다. ..?

인한 문제 :

모든 나는 파이어 폭스와 함께 사이트를 운영하는 경우를 제외하고, 완벽하게 작동하고 (에 한 번이 아니 문제를 일으키는 인터넷 익스플로러).

사이트는 현재 개발 단계에 있으므로 오프라인 상태이지만 localhost (WampServer, apache, Windows XP SP3, VISTA, 7)에서 실행 중입니다.

다른 모든 브라우저 간 충돌이 제거되었으며 IE, Chrome, Opera 및 Safari를 포함한 모든 주요 브라우저에서 완벽하게 작동하지만 브라우저가 Firefox 인 경우 HTTPRequest (AJAX)에서 아무 것도 얻지 못합니다.

모든 브라우저에 최신 버전이 있습니다.

하는 코드 : 나는로 구성되어 모두 자바 스크립트 기능의 시리즈를

은 다음과 같습니다

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); 
} 

내 돈은 문제의 원인이되는 코드의 마지막 다섯 줄에 . 파이어 폭스와 AJAX 함께 작업을 가장 환영하는 방법을

모든 제안 ...

+0

오류 모드 란 무엇입니까? 어떤 일이 발생하거나 실패합니까? – Victor

+2

"AJAX"라고 항상 그만 해요. 그것은 당신을 마케팅 부서처럼 들리게합니다. –

+2

또한 jQuery 또는 일부 라이브러리를 사용하여 두통을 모두 줄일 수 있습니다. – Victor

답변

6

코드의 무리로 변환하는 JQuery와 한 줄을 게시했다! 그 순간

$("#theDiv").text("LOADING...").load("01_retrieve_data_7.php?a="+$("#item").text()); 
+0

당신이 진지한이 한 줄로 모든 것을 대체합니까 ?? –

+1

jQuery에 오신 것을 환영합니다. "loading"텍스트를 원한다면'.text ("LOADING ...")를 스 니펫에 추가하십시오. –

+0

아니요. 데이터를 URL 인코딩하고 많은 킬로바이트의 jQuery도로드해야합니다. – Quentin

0

어떤 파이어 폭스 애드온을 사용하지 않도록 설정해야합니다 당신 설치 됐어. FF가 j를 실행하려고 시도 할 때 ABP와 방화범이 특정 상황에서 간섭하는 것으로 알려져 있습니다