>  기사  >  웹 프론트엔드  >  Ajax를 사용하여 XMLHttpRequest 객체를 생성하는 방법_기본 지식

Ajax를 사용하여 XMLHttpRequest 객체를 생성하는 방법_기본 지식

WBOY
WBOY원래의
2016-05-16 17:47:03936검색

객체를 생성할 때마다 이렇게 복잡해야 합니까? 다음 코드:
JScript 코드:
"testAjax.htm" 파일:

코드 복사 코드는 다음과 같습니다. 다음:



시도
{
// Firefox, Opera 8.0, Safari
xmlHttp=new XMLHttpRequest(); }
catch (e)
Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP") xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); }
 catch (e)
 {
 alert("귀하의 브라우저는 AJAX를 지원하지 않습니다!")
 }
 }
 }
 }
 
 

  사용자: 시간:
 

 


먼저 XMLHttpRequest 객체를 보유하는 xmlHttp 변수를 선언합니다.
그런 다음 XMLHttp=new XMLHttpRequest()를 사용하여 이 개체를 만듭니다. 이 설명은 Firefox, Opera 및 Safari 브라우저에만 적용됩니다. 실패할 경우 Internet Explorer 6.0의 경우 xmlHttp=new ActiveXObject("Msxml2.XMLHTTP")를 시도하고, 이 역시 실패할 경우 Internet Explorer 5.5의 경우 xmlHttp=new ActiveXObject("Microsoft.XMLHTTP")를 시도하십시오.

이 세 가지 방법 중 어느 것도 작동하지 않으면 사용자가 오래된 브라우저를 사용하고 있는 것이므로 해당 브라우저가 AJAX를 지원하지 않는다는 메시지가 표시됩니다.

이 함수의 정의를 별도의 js 파일로 직접 저장하고 AJAX를 사용해야 하는 페이지에서 이 파일을 참조하면 됩니다.
아래 설명:
JScript 코드:




코드 복사

코드는 다음과 같습니다.


function CreateHTTPObject()
{
var xmlhttp;
try
{
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP")
} catch( e ) { 시도 { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP") }
catch(e)
{
xmlhttp = false ;
}
}
if (!xmlhttp && typeof XMLHttpRequest!='undefine')
{
시도
{
xmlhttp = new XMLHttpRequest(); }
catch (e)
{
xmlhttp=false;
}
}
if (!xmlhttp && window.createRequest)
{
try
{
xmlhttp = window.createRequest();
}
catch(e)
{
xmlhttp=false;
}
return xmlhttp; >

} 위 함수를 정의하고 호출 시 인스턴스를 다음과 같이 생성합니다.
JScript 코드:




코드 복사


코드는 다음과 같습니다.


var xmlHttp = CreateHTTPObject()
if (!xmlHttp)
{
return; object
}
xmlHttp.open("GET", url, true)
xmlHttp.onreadystatechange = function(){HandleRequest(xmlHttp, "요소 ID")}
xmlHttp.send( null)
jquery를 사용하여 다음과 같이 한 문장으로 직접 수행할 수도 있습니다. 코드 복사

코드는 다음과 같습니다.

$(document).ready(function(){
$("#userpass").blur(function(){
var 비밀번호=$("#userpass").val( );
var name=$("#username").val();
if(password==""||password==null){
$("#pass").html ("비밀번호를 입력하세요! ")
b=false
}else if(!/^[a-zA-Z0-9_ ] {6,16}$/.test(password)){
$("#pass").html("입력 형식이 잘못되었습니다. 비밀번호는 다음 위치에 있어야 합니다. 최소 6자리 숫자 또는 문자");
b=false;
}else{
$.get("LoginAjaxPassword",{"userpass":encodeURI(encodeURI(password))," 사용자 이름": encodeURI(encodeURI(이름))},function(response){
$("#pass").html(response);
if(response=="" "√" ""){
b=true;
}
});
}
return b;
});
$("#login-submit").click(function(){
var autologin=document.getElementById("autologin").checked;
if(a&&b){
//if ($("#autologin").attr("checked")==true){
if(autologin==true){
//${"#login-user-form"} .attr( "action","AutoLogin");
//$("#login-user-form").submit()
document.form.action="
document .form.submit();
}else{
//${"#login-user-form"}.attr("action","Login")
//$("# login-user -form").submit();
document.form.action="Login";
document.form.submit();
}
} else{}
});
})
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.