투케이2K

22. (ajax/에이젝스) ajax 요청 시 http response header 확인 수행 실시 본문

Http & Api

22. (ajax/에이젝스) ajax 요청 시 http response header 확인 수행 실시

투케이2K 2022. 8. 18. 19:41

[개발 환경 설정]

개발 툴 : Edit++

개발 언어 : ajax

 

[소스 코드]

<!DOCTYPE HTML>
<html lang="ko">
<head>
    <title>WebTest</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    



    <!-- [반응형 구조 만들기] -->
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no">




    <!-- [내부 CSS 스타일 지정] -->
    <style>
    </style>





    <!-- [라이브러리 CDN 등록 실시] -->
    <script src="https://code.jquery.com/jquery-latest.min.js"></script>
    




    <!-- [내부 자바스크립트 J쿼리 이벤트 지정] -->    
    <script>


        /**
         * --------------------------------
         * [요약 설명]
         * --------------------------------
         * 1. window.onload : 브라우저 로드 완료 상태를 나타냅니다
         * --------------------------------
         * 2. $.ajax() : 비동기식 Ajax를 이용하여 HTTP 요청을 전송합니다
         * --------------------------------
        */


        // [html 최초 로드 및 이벤트 상시 대기 실시]
        $(window).load(function(){
            console.log("");
            console.log("=========================================");
            console.log("[window load] : [html 로드 수행 실시]");
            console.log("=========================================");
            console.log("");

            // [테스트 함수 호출]
            testMain();
    	});



        // [테스트 자바스크립트 함수]
        function testMain(){
            console.log("");
            console.log("=========================================");
            console.log("[testMain] : [start]");
            console.log("=========================================");
            console.log(""); 


            // [요청 url 선언]
            var reqURL = "http://jsonplaceholder.typicode.com/posts"; // 요청 주소


            // [요청 json 데이터 선언]
            var jsonData = { // Body에 첨부할 json 데이터
                "userId" : 1,
                "id" : 1
            };


            console.log("");
            console.log("=========================================");
            console.log("[testMain] : [http 요청 수행 실시]");
            console.log("-----------------------------------------");
            console.log("[reqURL] : " + reqURL);
            console.log("-----------------------------------------");
            console.log("[jsonData] : " + JSON.stringify(jsonData));
            console.log("=========================================");
            console.log(""); 


            $.ajax({
                // [요청 시작 부분]
                url: reqURL, //주소
                data: JSON.stringify(jsonData), //전송 데이터
                type: "POST", //전송 타입
                async: true, //비동기 여부
                timeout: 10000, //타임 아웃 설정 (1000 = 1초)
                dataType: "JSON", //응답받을 데이터 타입 (XML,JSON,TEXT,HTML,JSONP)
                contentType: "application/json; charset=utf-8", //헤더의 Content-Type을 설정

                // [응답 확인 부분 - json 데이터를 받습니다]
                success: function(data, textStatus, request) {       
                    console.log("");
                    console.log("=========================================");
                    console.log("[testMain] : [http success]");
                    console.log("-----------------------------------------");
                    console.log("[header all] : " + request.getAllResponseHeaders());
                    console.log("-----------------------------------------");
                    console.log("[header content-type] : " + request.getResponseHeader('content-type'));
                    console.log("-----------------------------------------");
                    console.log("[textStatus] : " + JSON.stringify(textStatus));
                    console.log("-----------------------------------------");
                    console.log("[response data] : " + JSON.stringify(data));
                    console.log("=========================================");
                    console.log(""); 
                },

                // [에러 확인 부분]
                error: function(request, textStatus, errorThrown) {
                    console.log("");
                    console.log("=========================================");
                    console.log("[testMain] : [http error]");
                    console.log("-----------------------------------------");
                    console.log("[textStatus] : " + JSON.stringify(textStatus));
                    console.log("-----------------------------------------");
                    console.log("[errorThrown] : " + JSON.stringify(errorThrown));
                    console.log("=========================================");
                    console.log("");
                }
            });

        };

    </script>
    
</head>





<!-- [body 콘텐츠 작성] -->
<body></body>


</html>
 

[결과 출력]


 

반응형
Comments