Jquery의 $.ajax 사용법:
jQuery.ajax( options ): HTTP 요청을 통해 원격 데이터 로드 이는 jQuery의 기본 AJAX 구현입니다. . 간단하고 사용하기 쉬운 상위 수준 구현을 보려면 $.get, $.post 등을 참조하세요.
$.ajax()는 생성된 XMLHttpRequest 객체를 반환합니다. 대부분의 경우 이 개체를 직접 조작할 필요는 없지만 특별한 경우에는 요청을 수동으로 종료하는 데 사용할 수 있습니다.
참고: dataType 옵션을 지정하는 경우 서버가 올바른 MIME 정보를 반환하는지 확인하세요(예: xml은 "text/xml"을 반환함). 잘못된 MIME 유형은 예측할 수 없는 오류를 일으킬 수 있습니다. AJAX 요청에 대한 데이터 유형 지정을 참조하세요.
데이터 유형이 'script'로 설정되면 모든 원격(동일한 도메인에 있지 않음) POST 요청이 GET으로 변환됩니다.
$.ajax()에는 각 구성 및 콜백 함수 정보를 포함하는 매개변수 키/값 객체라는 하나의 매개변수만 있습니다. 아래의 자세한 매개변수 옵션을 참조하세요.
jQuery 1.2에서는 도메인 간에 JSON 데이터를 로드할 수 있으며, 사용 시 데이터 유형을 JSONP로 설정해야 합니다. "myurl?callback=?"과 같은 JSONP 형식을 사용하여 함수를 호출하면 jQuery는 콜백 함수를 실행하기 위해 자동으로 ?를 올바른 함수 이름으로 바꿉니다. 데이터 유형이 "jsonp"로 설정되면 jQuery는 자동으로 콜백 함수를 호출합니다. (잘 모르겠습니다.)
jquery ajax 매개변수 목록:
url(String)
(기본값: 현재 페이지 주소) 요청을 보낼 주소입니다.
type(String)
요청 메서드("POST"와 "GET"의 두 가지 매개 변수가 있음), 기본값은 "GET"입니다. 참고: PUT 및 DELETE와 같은 다른 HTTP 요청 방법도 사용할 수 있지만 일부 브라우저에서만 지원됩니다.
timeout(숫자)
요청 시간 초과(밀리초)를 설정합니다. 이 설정은 전역 설정보다 우선 적용됩니다.
async(Boolean)
(기본값: true) true로 설정하면 모든 요청이 비동기 요청입니다. 동기 요청을 보내야 하는 경우 이 옵션을 false로 설정하세요. 동기 요청은 브라우저를 잠그며 사용자는 다른 작업을 수행하기 전에 요청이 완료될 때까지 기다려야 합니다.
beforeSend(Function)
요청을 보내기 전에 사용자 정의 HTTP 헤더를 추가하는 등 XMLHttpRequest 객체의 기능을 수정할 수 있습니다. XMLHttpRequest 객체가 유일한 매개변수입니다.
function(XMLHttpRequest){ this; // the options for this ajax request} cache(Boolean)
요청 결과를 캐시할지 여부(기본값) : true), false로 설정하면 브라우저 캐시에서 요청 정보를 로드하지 않습니다. 개발 초기 단계에서는 false로 설정하는 것이 가장 좋습니다. 그렇지 않으면 디버깅이 불편합니다.
complete(Function)
요청 완료 후 콜백 함수(요청 성공 또는 실패 시 호출). 매개변수: XMLHttpRequest 객체, 성공 정보 문자열.
function(XMLHttpRequest,textStatus){ this;//theoptionsforthisajaxrequest }
contentType(String)
( 기본값: "application/x-www-form-urlencoded") 서버에 정보를 보낼 때의 콘텐츠 인코딩 유형입니다. 기본값은 대부분의 애플리케이션에 적합합니다.
data(Object,String)
서버로 전송된 데이터입니다. 요청 문자열 형식으로 자동 변환됩니다. GET 요청의 URL에 추가됩니다. 이 자동 변환을 비활성화하려면 processData 옵션 설명을 참조하세요. 키/값 형식이어야 합니다. 배열인 경우 jQuery는 자동으로 동일한 이름을 다른 값에 할당합니다. 예를 들어, {foo:["bar1", "bar2"]}는 '&foo=bar1&foo=bar2'로 변환됩니다.
dataType(String)
서버에서 반환하는 데이터 형식을 정의합니다. 지정하지 않으면 jQuery는 HTTP 패킷 MIME 정보를 기반으로 responseXML 또는 responseText를 자동으로 반환하고 이를 콜백 함수 매개 변수로 전달합니다. 사용 가능한 값:
"xml": jQuery에서 처리할 수 있는 XML 형식 데이터를 반환합니다.
"html": 일반 텍스트 HTML 형식 데이터를 반환하며 스크립트 요소를 포함할 수 있습니다.
"script": 일반 텍스트 JavaScript 코드를 반환합니다. 결과는 자동으로 캐시되지 않습니다.
"json": JSON 데이터를 반환합니다.
"jsonp": JSONP 형식입니다. "myurl?callback=?"과 같은 JSONP 형식을 사용하여 함수를 호출하면 jQuery는 콜백 함수를 실행하기 위해 자동으로 ?를 올바른 함수 이름으로 바꿉니다.
error(Function)
(기본값: 자동판단(xml 또는 html)) 요청이 실패할 경우 호출되는 메소드입니다. 이 메서드는 XMLHttpRequest 개체, 오류 메시지 및 (아마도) 캡처된 오류 개체라는 세 가지 매개 변수를 사용합니다.
코드는 다음과 같습니다
function(XMLHttpRequest,textStatus,errorThrown){ //通常情况下textStatus和errorThown只有其中一个有值 this;//theoptionsforthisajaxrequest }
global(Boolean)
是否触发全局 AJAX 事件(默认: true) 。设置为 false 将不会触发全局 AJAX 事件,如 ajaxStart 或 ajaxStop 。可用于控制不同的Ajax事件
ifModified(Boolean)
(默认: false) 仅在服务器数据改变时获取新数据。使用 HTTP 包 Last-Modified 头信息判断。
processData(Boolean)
设置发送数据的信息格式(默认: true),设置为 true 的时候发送的数据将被转换为对象(技术上讲并非字符串) 以配合默认内容类型 "application/x-www-form-urlencoded"。如果要发送 DOM 树信息或其它不希望转换的信息,请设置为 false。
success(Function)
请求成功后回调函数。这个方法有两个参数:服务器返回数据,返回状态
代码如下:
function(data,textStatus){ //datacouldbexmlDoc,jsonObj,html,text,etc... this;//theoptionsforthisajaxrequest }
下面以一则示例解释一下该方法的具体的用法:
$.ajax({ type:'get', url:'http://www.www.daimajiayuan.com/rss', beforeSend:function(XMLHttpRequest){ //ShowLoading(); }, success:function(data,textStatus){ $('.ajax.ajaxResult').html(''); $('item',data).each(function(i,domEle){ $('.ajax.ajaxResult').append(''+$(domEle).children('title').text()+''); }); }, complete:function(XMLHttpRequest,textStatus){ //HideLoading(); }, error:function(){ //请求出错处理 } });
Jquery的$.post的用法:
3. jQuery.post( url, [data], [callback], [type] ) :使用POST方式来进行异步请求
jquery $.post 方法参数列表(说明):
url (String) : 发送请求的URL地址.
data (Map) : (可选) 要发送给服务器的数据,以 Key/value 的键值对形式表示,可将此值放到url中。
callback (Function) : (可选) 载入成功时回调函数(只有当Response的返回状态是success才能调用该方法)。
type (String) : (可选)客户端请求的数据类型(JSON,XML,等等)
这是一个简单的 POST 请求功能以取代复杂 $.ajax ,请求成功时可调用回调函数。如果需要在出错时执行函数,请使用 $.ajax。
下面是一个使用$.post的简单示例代码:
$.post( 'http://www.daimajiayuan.com/ajax.php', {Action:"post",Name:"lulu"}, function(data,textStatus){ //data可以是xmlDoc,jsonObj,html,text,等等. //this;//这个Ajax请求的选项配置信息,请参考jQuery.get()说到的this alert(data.result); }, "json"//这里设置了请求的返回格式为"json" );
如果你设置了请求的格式为"json",此时你没有设置Response回来的ContentType 为:Response.ContentType = "application/json"; 那么你将无法捕捉到返回的数据。
注意,上面的示例中 alert(data.result); 由于设置了Accept报头为"json",这里返回的data就是一个对象,因此不需要用eval()来转换为对象。
以上所述就是本文的全部内容了,希望大家能够喜欢。
【相关教程推荐】
1. JavaScript视频教程
2. JavaScript在线手册
3. bootstrap教程