2011-10-06 3 views
0

안녕하세요. 토론 된 것을 볼 수 있지만 문제/정답을 알아 본 후에도 준비 상태 1에서 벗어나는이 간단한 AJAX 호출을받을 수없는 것 같습니다.AJAX Ready 상태가 1로 고정되었습니다.

<script language="javascript" type="text/javascript"> 
var request; 

function createRequest() 
{ 
    try 
    { 
     request = new XMLHttpRequest(); 
    } catch (trymicrosoft) { 
    try { 
     request = new ActiveXObject("Msxml2.XMLHTTP"); 
    } catch (othermicrosoft) { 
     try { 
     request = new ActiveXObject("Microsoft.XMLHTTP"); 
     } catch (failed) { 
      request = false; 
     } 
    } 
} 
if (!request) 
    alert("Error initializing XMLHttpRequest!"); 
} 
function loadClassesBySchool() 
{  
    //get require web form pieces for this call 
createRequest(); // function to get xmlhttp object 
var schoolId = getDDLSelectionValue("ddlSchools"); 
var grade = getDDLSelectionValue("ddlGrades"); 

    var url = "courses.php?grades=" + escape(grade) + "&schoolId=" + escape(schoolId); 

//open server connection 
request.open("GET", url, true); 

//Setup callback function for server response 

    //+++read on overflow that some fixed the issue with an onload event this simply had 
    //+++the handle spitback 2 readystate = 1 alerts 

    request.onload = updateCourses(); 

    request.onreadystatechanged = updateCourses(); 

//send the result 
request.send(); 
} 

function updateCourses() 
{ 

    alert('ready state changed' + request.readyState); 

} 

function getDDLSelectionValue(ddlID) 
{ 
    return document.getElementById(ddlID).options[document.getElementById(ddlID).selectedIndex].value; 
    } 

</script> 

PHP의이 여기 잘 난 브라우저 (IE/크롬)에서로 이동 한 경우 단순한 인쇄로드입니다 :

여기에 내가 가지고있는 자바 스크립트의

<?php 
    print "test"; 
?> 

난 아주 이걸로 새로운데, AJAX가 작업하기 위해 가장 필요로하는 뼈를 얻으십시오. 과거의 작업 방식에 대한 도움은 크게 감사 할 것입니다.

내 콜백 함수 'updateCourses'나가 모든

는 1 ... 더 파고 실제로 포기하고 모든 의도와 목적에 대한 정확한 같은 일을해야하는 jQuery를로 전환 된 후에도

답변

0

jQuery가 작동한다는 사실을 제외하고는 ... 나는 그것에 익숙하지 않았지만 그렇게 해왔다.

여기 달성 동일 jQuery를 같습니다

function loadCoursesBySchool(){ 

    var grades = getDDLSelectionValue("ddlGrades"); 
    var schoolId = getDDLSelectionValue("ddlSchools"); 

    jQuery.ajax({ 
     url: "courses.php?grades=" + grades + "&schoolId=" + schoolId, 
     success: function (data) { 
      courseDisplay(data);  
     } 
    }); 
} 

function courseDisplay(response) 
{ 
    //check if anything was setn back!? 
    if(!response) 
    { 
     $("#ddlCourses").html(""); 
     //do nothing? 
    } 
    else 
    { 
     //empty DLL 
     $("#ddlCourses").html(""); 
     //add entries 
     $(response).appendTo("#ddlCourses"); 
    }  
}