2012-01-26 2 views
0

나는 워크샵을 관리하기위한 joomla 구성 요소가 있습니다. 편집보기에서 xmlhttp.responseText; 그냥 목록 옵션 대신 전체 페이지 HTML 결과를 반환합니까?

, 나는 다른 분야, 3 개 선택 목록 중가 :

  1. 주제 목록
  2. 수준 목록
  3. 내가 채울려고

상금 통화 항목 목록 옵션에서 선택한 항목에 따라 수준별 목록 옵션을 제공합니다.

내가 AJAX 요청을 포함은 .js 파일에 대한 호출을 추가 한 onchange를 그래서 주제 목록에서

: 그것은 제대로 작동하고

var xmlhttp; 

function listUpdate(str) 
{ 
if (str=="") 
{ 
    document.getElementById("jform_work_topic_level_idfk").innerHTML=""; 
    return; 
} 
xmlhttp=GetXmlHttpObject(); 
if (xmlhttp==null) 
{ 
    alert("Browser does not support HTTP Request"); 
    return; 
} 
var url = document.URL+"&tid="+str; 
xmlhttp.onreadystatechange=stateChanged; 
xmlhttp.open("GET",url,true); 
xmlhttp.send(null); 
} 

function stateChanged() 
{ 
if (xmlhttp.readyState==4 && xmlhttp.status==200) 
{ 
      document.getElementById("jform_work_topic_level_idfk").innerHTML=xmlhttp.responseText; 
} 
} 

function GetXmlHttpObject() 
{ 
if (window.XMLHttpRequest) 
{ 
    // code for IE7+, Firefox, Chrome, Opera, Safari 
    return new XMLHttpRequest(); 
} 
if (window.ActiveXObject) 
{ 
    // code for IE6, IE5 
    return new ActiveXObject("Microsoft.XMLHTTP"); 
} 
return null; 
} 

및 레벨 목록 옵션은 원하는 값이되었습니다 내용에 따라 채워집니다 주제 목록에서 선택되었습니다. 문제는 레벨 목록에 해당 옵션이 채워지는 것이 아니라 주제 목록 및 상금 옵션이있는 것입니다.

나는 그것이 xmlhttp.open ("GET", url, true); 전체 양식 html 및 xmlhttp.responseText를 생성하는 URL을 요청하고 있습니다. HTML 페이지 코드 전체를 반환합니다. 레벨 목록 옵션을 검색하려면 어떻게해야합니까?

대단히 감사합니다!

답변

0

특정 AJAX 데이터를 가져 오는 데는 두 가지 옵션이 있습니다.

서버에 요청을 보내서 특정 값만 가져오고 서버 측 스크립트가이를 분할하도록 할 수 있습니다. 예를 들어, ?stuff=a이라는 GET 인수가있는 페이지를로드하고 ($_GET["stuff"] == "a") 인 경우 PHP 또는 CGI 스크립트에서 불필요한 콘텐츠를 필터링하도록 지정할 수 있습니다. 이것은 아마도 가장 빠르고 안전한 방법 일 것입니다.

두 번째 옵션은 요청을 받았을 때 바로 클라이언트에서 필터링하는 것입니다.하지만 속도는 느리고 위험합니다.

귀하의 질문을 잘못 읽으면 사과드립니다.

관련 문제