AJAX 의 요청 방식 및 동기 화 비동기 의 차이 점 소결

2736 단어 AJAX동기 비동기
요청 방식 은 GET 와 POST:GET 에서 가장 흔히 볼 수 있 는 HTTP 요청 으로 나 뉘 는데 일반 인터넷 조회 페이지 는 GET 입 니 다.GET 방식 의 매개 변 수 는 URL 을 따라 물음표 로 시작 합 니 다.(JS 에서 window.location.search 로 획득).인 자 는 encodeURIComponent 로 인 코딩 할 수 있 습 니 다.사용 방식:var EnParam=encodeURIComponent(param);URL 은 약 2K 의 길이,즉 2048 문자 만 지원 합 니 다.GET 를 사용 하여 AJAX 요청 을 할 때 캐 시 로 인해 나타 나 는 페이지 가 정확 하지 않 습 니 다.일반적인 방법 으로 random 매개 변수 값 을 추가 합 니 다.ajax.send(null)。 POST 가 서버 에 데 이 터 를 제출 하 는 데 사 용 됩 니 다.form 폼 의 값 을 먼저 꺼 내 문자열 로 변환 하고&기호 로 연결 해 야 합 니 다.(GET 전송 매개 변수 와 같 습 니 다)제출 데이터 양 2GB;ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded')를 사용 하여 제출 한 문자열 을 처리 합 니 다.ajax.send(strings),이 strings 는 form 에서 제출 해 야 할 내용 을 표시 합 니 다.예 를 들 어 a=1&b=2 와 같은 문자열 입 니 다.동기 화 및 비동기:ajax.open 방법 에서 세 번 째 매개 변 수 는 동기 화 또는 비동기 입 니 다.prototype 등 js 라 이브 러 리 는 일반적으로 비동기,즉 true 로 설정 합 니 다.먼저 동기 화 된 상황 에서 js 는 요청 이 돌아 오 기 를 기다 리 고 status 를 가 져 옵 니 다.onready statechange 이벤트 처리 함수 가 필요 없습니다.비동기 화 는 onreadystatechange 이벤트 처리 가 필요 하 며,값 은 4 로 다음 내용 을 정확하게 처리 해 야 합 니 다.(주:글 의 ajax 는 XML HTTP 요청 대상 을 표시 합 니 다.)
 
//
function RequestByGet(nProducttemp,nCountrytemp)
{
var xmlhttp
if (window.XMLHttpRequest)
{
//isIE = false;
xmlhttp = new XMLHttpRequest();
}
else if (window.ActiveXObject)
{
//isIE = true;
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
//Web page location.
var URL="http://www.baidu.com/;
xmlhttp.open("GET",URL, false);
//xmlhttp.SetRequestHeader("Content-Type","text/html; charset=Shift_JIS")
xmlhttp.send(null);
var result = xmlhttp.status;
//OK
if(result==200)
{
document.getElementById("div_RightBarBody").innerHTML=xmlhttp.responseText;
}
xmlhttp = null;
}

//
var xmlhttp
function RequestByGet(nProducttemp,nCountrytemp)
{
if (window.XMLHttpRequest)
{
//isIE = false;
xmlhttp = new XMLHttpRequest();
}
else if (window.ActiveXObject)
{
//isIE = true;
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
//Web page location.
var URL="http://www.baidu.com/";
xmlhttp.open("GET",URL, true);
xmlhttp.onreadystatechange = handleResponse;
//xmlhttp.SetRequestHeader("Content-Type","text/html; charset=UTF-8")
xmlhttp.send(null);
}
function handleResponse()
{
if(xmlhttp.readyState == 4 && xmlhttp.status==200)
{
document.getElementById("div_RightBarBody").innerHTML=xmlhttp.responseText;
xmlhttp = null;
}
}

좋은 웹페이지 즐겨찾기