Ajax : Method

2021. 2. 5. 12:56프론트엔드/Ajax, xml, json

반응형

 

기본

$.ajax(option)
$.ajax(url, option)
$.ajax({
    url: "",
    type: "",
    dataType: "",
    data: "",
    success: function(data) {

     }
})

 

* option 

1. url : 불러올 파일명

2. type : get, post  방식

3. dataType : 불러올 파일의 종류(txt,html,xml,json,script)

4. data : 데이터

5. success : 데어터가 성공적으로 불려왔을때 실행할 메서드

6. async : 동기, 비동식 방식 지정( *  Ajax를 사용하는 이유 )

 

 

        $(function(){
            $(".btn").on("click",function(){
                $.ajax("02-load-html.html")
                .done(function(){
                    alert("요청 성공")
                })
                .fail(function(){
                    alert("요청 실패")
                })
                .always(function(){
                    alert("요청 완료")
                })
            })
        })
    $(function(){
        $(".btn").click(function(){
            $.ajax({
                url:"02-load-html.html"
            }).done(function(data){
                $(".wrap").append(data);
            })
        })
    })

 


 

 

load()

서버로부터 데이터를 받아서 일치하는 요소에 추가

$(“선택자”).load(“url”,function(){
})
        $(function(){
            $(".btn").click(function(){
                $("#menu").load("01-load-text.html li");
                // html 파일 안의 li만 불러오기
            })
        })

 

 

$.get()

        $(function() {
            $(".btn").click(function() {
                $.get("02-load-html.html", function(data, status) {
                    $(".wrap").html(data + "<br>" + status)
                })
            })
        })

 

 

$.post()

get과 같은 문법, ftp 서버에서만 테스트 가능

 

 

 

$.getJSON()

대부분의 공개 자료들(ex. 버스, 날씨, 약국 등등)이 xml / json 파일이기 때문에

ajax에서 제일 자주 사용하는 기능.

php로 작성한 json도 출력 가능

 

$.getJSON(“파일명.json”,function(data){
  $(“선택자”).html('<p>'+data.age+'</p>')
})

$ajax({
  url :url주소,
  dataType:“JSON”,
  data:요청내용,
  success:성공콜백함수
})
        $(function(){
            $(".btn").click(function(){
                $.ajax({
                    url:"singer-group.json",
                    dataType:"json"
                }).done(function(data){
                    console.log(data);
                    $(".wrap").append(data.name+"<br>");
                    $(".wrap").append(data.members+"<br>");
                    $(".wrap").append(data.albums.a3+"<br>");
                })
            })
        })
        $(function() {
            $(".btn").click(function() {
                $.getJSON("json-php.php", function(data) {
                    console.log(data);
                    if(data.result.length>0){
                        // $.("선택자").(data.result, function(){}) 같은 의미
                        $.each(data.result, function(){
                            var info= " | color: "+this['color']+", option: "+this['option'];
                            $(".wrap").append(info);
                        })
                    }
                })
            })
        })

 

XML 

                $.ajax({
                    url:"mart.xml",
                    dataType:"xml"
                }).done(function(data){
                    console.log(data);
                    $(data).find("food").each(function(){
                        var info=$(this).find("name").text()+"<br>";
                        $(".wrap").append(info);
                    })
                })

 

 

        $(function(){
            $.ajax({
                url:"tour.xml",
                dataType:"xml",
                success:function(data){
                //.done와 같음    
                    console.log(data);
                    $(data).find("destination").each(function(){
                        //title
                        var $title=$(this).find("title").text();
                        //img
                        var $img=$(this).find("img").text();
                        //cost
                        var $cost=$(this).find("cost").text();
                        
                        $(".tour").append("<li> <h2>"+$title+"</h2> <img src='"+$img+"'> <p>"+$cost+"원</p> </li>")
                    })
                }
            })
        })

 

반응형

'프론트엔드 > Ajax, xml, json' 카테고리의 다른 글

Ajax: 개요  (0) 2021.02.05
XML, JSON  (0) 2021.02.05