Day66 :) JQuery AJAX


JQueryでのAJAXの処理
  • jQueryのAJAXは、テキスト、html、xml、json、jsonpの応答データ
  • を処理することができる.
    主な方法
    $.ajax()
    $.ajax([옵션])
  • 非同期Ajaxを使用するHTTP要求
  • を生成する.
  • AJAX処理に必要な値はname/valueペアのオブジェクト
  • に渡す.
    $.ajax({
    	// 요청방식
    	type: 'Get' or 'Post',
     	// 요청을 보낼 URL
    	url: '요청URL',
    	// 서버로 보내는 데이터    
    	data: {no:14, page:1} or "no=14&page=1",
    	// 서버로 보내는 데이터 타입
    	// 기본값 "application/x-www-fom-urlendcoded"
    	contentType: 'application'/'json'/'text'/'xml', 
    	// 응답으로 받을 컨텐츠 타입 지정
    	dataType: 'text'/'json'/'xml'/'jsonp',	
    	// 응답이 왔을 때 실행되는 함수	
    	success: funciton(responseData){},	
    	// 서버로 보낸 요청이 실패했을 때 실행되는 함수
    	error: function(){} 
    })
    $.get()
    $.get(URL주소[, 데이터], 콜백함수(data[, status][, xhr])[, 응답데이터 타입]);
  • GET HTTP要求
  • を送信する.
    * URL주소: 요청을 보낼 URL
    * 데이터: 요청할 때 서버로 보낼 데이터
    * 콜백함수: 성공적인 응답이 왔을 때 실행될 함수
    	- data: 서버가 보낸 응답데이터
    	- status: 응답처리 상태값
    	- xhr: XMLHttpRequest 객체
    * dataType: 응답데이터의 컨텐츠 타입을 지정
    	- "text": plain text
    	- "json": json 형식의 데이터 -> javascript 배열, 객체 변환 후 반환
    	- "xml": xml 형식의 데이터 -> XML Document객체로 변환 후 반환
    	- "jsonp": 다른 사이트의 서버에 데이터를 요청 시 사용
    $.post()
    $.post(URL주소[, 데이터], 콜백함수(data[, status][, xhr])[, 응답데이터 타입]);
  • POST HTTP要求送信
  • $.getScript()
    $.post(URL주소[, 데이터], 콜백함수(data[, status][, xhr])[, 응답데이터 타입]);
  • サーバから受信JavaScriptファイル
  • を追加して実行
    $.getJSON()
    $.getJSON(URL주소[, 데이터], 콜백함수(data[, status][, xhr])[, 응답데이터 타입]);
  • GETはHTTP要求を送信し、JSONファイル
  • に応答する
    .load()
    .load( url [, data] [, complete(responseText, textStatus, XMLHttpRequest)] )
  • jQuery唯一のAjaxメソッド
  • サーバからデータを取得するHTMLコードを選択プログラム
  • に配置する.
    // test.txt파일 내에서 id=para인 요소를 읽어와 id=box에 배치
    $("#box").load("test.txt #para");

    $.get()
    $.get("/script2/product/list.hta", function(data){
    	$.each(data, funciton(index, product){
    		var row = "<tr>"
    		row += "<td>"+product.no+"</td>";
    		row += "<td>"+product.name+"</td>";
    		row += "<td>"+product.company+"</td>";
    		row += "</tr>";
    		
    		$tbody.append(row);
    		}
    	}
    $.ajax
    $.ajax({
    	type: 'get',
    	url: '/script2/product/list.hta',
    	dataType: 'json',
    	success: function(products){
    		var $tbody = $("#table-products tbody");
    		$.each(products, function(index, product){
    			var row = "<tr>"
    				row += "<td>"+product.no+"</td>";
    				row += "<td>"+product.name+"</td>";
    				row += "<td>"+product.company+"</td>";
    				row += "</tr>";
    					
    				$tbody.append(row);
    		})	// each문
    	}	// success의 function(products)
    });