AJAX는 빠르고 동적인 웹페이지를 만드는 기술입니다. AJAX를 사용하면 백그라운드에서 서버와 소량의 데이터를 교환하여 웹 페이지를 비동기적으로 업데이트할 수 있습니다. 이는 전체 페이지를 다시 로드하지 않고도 웹페이지의 일부를 업데이트할 수 있음을 의미합니다.
js에서 ajax 요청을 사용하려면 일반적으로 세 단계가 필요합니다.
js 프레임워크를 사용하지 않고 ajax를 사용하려면 다음과 같이 코드를 작성해야 할 수도 있습니다
<span style="font-size:14px;">var xmlHttp = xmlHttpCreate();//创建对象 xmlHttp.onreadystatechange = function(){//响应处理 if(xmlHttp.readyState == 4){ console.info("response finish"); if(xmlHttp.status == 200){ console.info("reponse success"); console.info(xmlHttp.responseText); } } } xmlHttp.open("get","TestServlet",true);//打开链接 xmlHttp.send(null);//发送请求 function xmlHttpCreate() { var xmlHttp; try { xmlHttp = new XMLHttpRequest;// ff opera } catch (e) { try { xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");// ie } catch (e) { try { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { } } } return xmlHttp; } console.info(xmlHttpCreate());</span>
더 복잡한 비즈니스 로직에서 이런 종류의 ajax 요청을 사용하면 코드가 너무 커지고 재사용이 불편해질 수 있습니다. 그리고 이때 서버가 성공적으로 응답한 후에 비즈니스 로직 작업을 처리해야 한다는 것을 알 수 있습니다. , 당신은해야합니다 작업은 onreadystatechage 방법으로 작성됩니다.
코드 재사용을 용이하게 하기 위해 다음을 수행할 수 있습니다.
처리 후 다음과 같이 표시됩니다.
<pre code_snippet_id="342814" snippet_file_name="blog_20140513_2_2489549" name="code" class="javascript">window.onload = function() { document.getElementById("hit").onclick = function() { console.info("开始请求"); ajax.post({ data : 'a=n', url : 'TestServlet', success : function(reponseText) { console.info("success : "+reponseText); }, error : function(reponseText) { console.info("error : "+reponseText); } }); } } var ajax = { xmlHttp : '', url:'', data:'', xmlHttpCreate : function() { var xmlHttp; try { xmlHttp = new XMLHttpRequest;// ff opera } catch (e) { try { xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");// ie } catch (e) { try { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { } } } return xmlHttp; }, post:function(jsonObj){ ajax.data = jsonObj.data; ajax.url = jsonObj.url; //创建XMLHttp对象,打开链接、请求、响应 ajax.xmlHttp = ajax.xmlHttpCreate(); ajax.xmlHttp.open("post",ajax.url,true); ajax.xmlHttp.onreadystatechange = function(){ if(ajax.xmlHttp.readyState == 4){ if(ajax.xmlHttp.status == 200){ jsonObj.success(ajax.xmlHttp.responseText); }else{ jsonObj.error(ajax.xmlHttp.responseText); } } } ajax.xmlHttp.send(ajax.data); } };
위 코드는 jquery와 유사한 ajax 연산을 구현한 것으로 모든 사람의 학습에 도움이 되기를 바랍니다.