Code/JavaScript

[Javascript] fetch (ajax)

codens 2019. 7. 22. 02:37


    function doFetch(url, data, method) {

        var option = {
            method: method,
            
            mode: 'same-origin',  //default: same-origin
            credentials: 'same-origin',    //default: omit
            cache: 'no-cache',    //default: default            
            redirect: 'follow', //default: follow
            referrer: 'client',   //default: client
            headers: new Headers(),
            
        }
        if( method =="POST" ){
            option.body = _data;
        }
        
        option.headers.append('Content-Type', "application/x-www-form-urlencoded; charset=UTF-8");

        var token = $("meta[name='csrf-token']").attr("content");

        option.headers.append('X-CSRF-TOKEN', token);

        return fetch(url, option );
    }

  //========================================

    doFetch('/ajax/api1.php', JSON.stringify({name: 'qasd'}), 'POST') 
            .then(ret => { 
                ret.json().then( json =>{ 
                    console.log('ret=', json ); 
                }) 
            }) 
            .catch(ret => { 
                console.log('catch=', ret); 
            }); 


//=================== 

// 실행시간(속도)

XMLHttpRequest, fetch, jQuery($.ajax) 모두 30ms 정도로 걸리는 시간은 차이가 없음

 

 

//===================
// 참고
https://developer.mozilla.org/ko/docs/Web/API/Fetch_API/Fetch%EC%9D%98_%EC%82%AC%EC%9A%A9%EB%B2%95

//

 

반응형