> 웹 프론트엔드 > JS 튜토리얼 > JS에서 Ajax 요청 기능을 구현하는 방법

JS에서 Ajax 요청 기능을 구현하는 방법

php中世界最好的语言
풀어 주다: 2018-04-13 17:19:02
원래의
1667명이 탐색했습니다.

이번에는 JS에서 Ajax 요청 기능을 구현하는 방법을 보여드리겠습니다. JS에서 Ajax 요청 기능을 구현하는 데 있어 주의 사항은 무엇입니까? 다음은 실제 사례입니다.

일반적으로 웹 페이지를 작성할 때 Ajax를 사용하여 서버를 요청하면 JQuery 및 기타 캡슐화된 라이브러리를 사용하여 호출하는데 이는 비교적 간단합니다.

하지만 일반적으로 이러한 라이브러리에는 기능이 많고 필요하지 않은 것들이 너무 많이 포함되어 있습니다. 단일 기능으로 간단한 페이지를 작성해야 한다면 그렇게 큰 라이브러리 파일을 참조할 필요는 없습니다.

구체적인 코드는 다음과 같습니다.

var ajax = {};
ajax.x = function () {
 if (typeof XMLHttpRequest !== 'undefined') {
 return new XMLHttpRequest();
 }
 var versions = [
 "MSXML2.XmlHttp.6.0",
 "MSXML2.XmlHttp.5.0",
 "MSXML2.XmlHttp.4.0",
 "MSXML2.XmlHttp.3.0",
 "MSXML2.XmlHttp.2.0",
 "Microsoft.XmlHttp"
 ];
 var xhr;
 for (var i = 0; i < versions.length; i++) {
 try {
 xhr = new ActiveXObject(versions[i]);
 break;
 } catch (e) {
 }
 }
 return xhr;
};
ajax.send = function (url, method, data, success,fail,async) {
 if (async === undefined) {
 async = true;
 }
 var x = ajax.x();
 x.open(method, url, async);
 x.onreadystatechange = function () {
 if (x.readyState == 4) {
 var status = x.status;
 if (status >= 200 && status < 300) {
 success && success(x.responseText,x.responseXML)
 } else {
 fail && fail(status);
 }
 }
 };
 if (method == 'POST') {
 x.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
 }
 x.send(data)
};
ajax.get = function (url, data, callback, fail, async) {
 var query = [];
 for (var key in data) {
 query.push(encodeURIComponent(key) + '=' + encodeURIComponent(data[key]));
 }
 ajax.send(url + (query.length ? '?' + query.join('&') : ''), 'GET', null, callback, fail, async)
};
ajax.post = function (url, data, callback, fail, async) {
 var query = [];
 for (var key in data) {
 query.push(encodeURIComponent(key) + '=' + encodeURIComponent(data[key]));
 }
 ajax.send(url,'POST', query.join('&'), callback, fail, async)
};
로그인 후 복사

사용 방법: GET

ajax.get('/test.php', {foo: 'bar'}, function(response,xml) {
 //success
},
function(status){
 //fail
});
POST
ajax.post('/test.php', {foo: 'bar'}, function(response,xml) {
 //succcess
},function(status){
 //fail
});
로그인 후 복사

여기서 주목해야 할 문제가 있습니다.

var sendCmd = "?op_code=" + code + "&op_cmd=" + cmd;
ajax.post('/control' + sendCmd,'',function(response,xml) {
 console.log('success');
},
function(status){
 console.log('failed:' + status);
});
로그인 후 복사

와 같은 내용을 보내려면 이 기사의 사례를 읽은 후 방법을 익히셨을 것입니다. 더 흥미로운 정보를 보려면 다음 페이지의 다른 관련 기사를 주목하세요. PHP 중국어 웹사이트!

추천 자료:

JS에서 계산기 기능을 구현하는 가장 간단한 방법

Angular로 테이블 필터링 및 삭제 기능 구현

위 내용은 JS에서 Ajax 요청 기능을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿