2014-04-01 8 views
0

저는 이전에 사용한 html 파일에서 코드를 복사하고 전송 된 값을 변경하여 코드를 처리하기 위해 Ajax를 사용하려고했습니다. m POST 메서드를 사용하여. 그러나 PHP 스크립트는 HTML 페이지에 아무 것도 반환하지 않습니다. 내가 할 수있는 일을 모두 확인 했으므로 지금 여기있다. function look() { var x = document.getElementsByTagName ('option') [document.getElementById ("region"). selectedIndex] .value; var ajaxRequest; // Ajax를 가능하게하는 변수!PHP가 javascript ajax 객체에 아무런 결과도 반환하지 않습니다.

try{ 
    // Opera 8.0+, Firefox, Safari 
    ajaxRequest = new XMLHttpRequest(); 
}catch (e){ 
    // Internet Explorer Browsers 
    try{ 
    ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP"); 
    }catch (e) { 
     try{ 
    ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP"); 
    }catch (e){ 
    // Something went wrong 
    alert("Your browser broke!"); 
    return false; 
    } 
    } 
} 
    // Create a function that will receive data 
// sent from the server and will update 
// modal section in the same page. 
ajaxRequest.onreadystatechange = function(){ 
    if(ajaxRequest.readyState == 4){ 
     var ajaxDisplay = document.getElementById("accordion"); 
    ajaxDisplay.innerHTML = ajaxRequest.responseText; 
} 
} 
    // Now get the value from user and pass it to 
// server script. 
ajaxRequest.open("POST", "search.php", true); 
ajaxRequest.setRequestHeader("Content-type","application/x-www-form-urlencoded"); 
alert(x); 
ajaxRequest.send("region=" + x); 

} 

PHP 코드는이 선택한 DIV에 아무 것도 반환하지 않습니다, 그러나 간단한

<?php 
echo "The world is blue."; 
?> 

입니다.

+1

우선 jQuery와 같은 프레임 워크를 사용하는 것이 좋습니다. AJAX를 사용하면 훨씬 쉽게 작업 할 수 있습니다. 둘째, PHP 결과를 얻고 있습니까? – cgf

+0

그게 문제 야. 나는 PHP에서 어떤 결과도 얻지 못하고있다. 나는 이걸로 잘 작동하는 다른 응용 프로그램을 가지고 있지만,이 ID는 "accordion"이라는 ID를 가진 div에 아무것도 반환하지 않습니다. – Michael

+0

@Michael 당신은 PHP는 원시적이고 작동해야합니다. 귀하의 자바 스크립트 코드에 방화범이 끌리는 것을 사용하십시오. – user4035

답변

0

귀하의 질문에 대한 답변을 얻기에 충분한 정보를 게시하지 않은 것 같습니다. 그러나, 나는 당신이 처음에 질문 할 질문이 무엇인지 확신하지 못했을 것임을 인정합니다.

먼저 @cgf에 동의해야합니다. jQuery 또는 비슷하게 쉽게이 작업을 수행 할 수 있습니다.

하지만 문제의 초점을 맞출 수 있습니다. 우리는 뒤에서 무슨 일이 일어나고 있는지 알아야합니다.

가장 좋은 방법은 방화 상자와 같은 개발자 도구 모음을 사용하는 것입니다. Chrome에는 Chrome이 내장되어 있습니다.

크롬을로드하고 F12을 누르세요. 이렇게하면 창 아래쪽에 매우 바쁜보기 창이 생깁니다. 네트워크 탭을 선택한 다음 페이지를 요청하거나 자바 스크립트를 실행하십시오. 네트워크 탭에서 어떤 출력을 얻습니까? 주로 상태에 따라 200, 500 (서버 오류) 또는 404 (찾을 수 없음)가 표시됩니까? 위의 질문을보고/얻을 내용으로 업데이트하십시오.

내 희망은이 으로 올바른 방향으로 향해야한다는 것입니다.

+0

javascript 함수를 트리거 할 때 상태 열에 200 OK가 표시되지만 div에 아무것도 반환되지 않습니다. 그리고 추가 할 수있는 정보가 없다면, 아코디언 id를 가진 div가 있는데, php의 결과를 삽입해야합니다. – Michael

+0

@Michael, 그래서 당신은'alert (ajaxResults)'와 같은 것을 시도 했습니까? 기본적으로 HTML에서 올바르게 표시하지 않거나 PHP 스크립트에서 아무것도 얻지 못하고 있는지 확인하십시오. – cgf

+0

예, 그 일을하고 PHP는 아무것도 반환하지 않습니다. – Michael

관련 문제