통신 fetch() 사용 예제들

황제낙엽 2024.07.09 05:32 조회 수 : 263

sitelink1  
sitelink2  
sitelink3  
sitelink4  
extra_vars4  
extra_vars5  
extra_vars6  

아래의 예제들은 스크립트상에서는 오류도 없고 요청도 잘 보낸다.

하지만 톰캣의 기본 설치 상태에서는 전송한 데이터를 받을 수가 없었다. (HttpServletRequest 객체에 값이 없다)

서버 설정을 다양하게 바꿔봐도 문제를 해결하지 못해서 그래서 결국 fetch 대신 XMLHttpRequest 을 여전히 이용중이다.

 

다만 fetch 는 최신 스펙이므로 추후 본격적으로 활용할때를 대비해서 예제를 저장해둔다.

자세한게 필요하면 copilot 에게 물어보면 친절히 알려준다.

 

    var data = {

        'cmd' : 'getMallList'

    };

 

    fetch('/jbs/jbg', {

        method: 'POST',

        cache: 'no-cache',

        headers: {

            'Content-Type': 'application/json'

        },

        body: JSON.stringify(data)

    })

    .then(response => {

        // 응답 객체가 성공적으로 돌아왔는지 확인합니다.

        if (!response.ok) {

            throw new Error('Network response was not ok ' + response.statusText);

        }

        // 응답을 JSON으로 변환합니다.

        return response.json();

    })

.then(data => {

if (data.code == '000') {

          

        }

})

    .catch(error => console.error('Error:', error));

 

json 형태로 데이터를 서버에 전송하는 예제다.

promise 를 써서 응답데이터 처리도 하고 있다.

 

 

var data = {

'cmd' : 'fetchOrders',

'seqm' : mall.seq,

'id' : mallId,

'pw' : mallPw

};

 

fetch('/jbs/jbg', {

method: 'POST',

cache: 'no-cache',

headers: {

'Content-Type': 'application/json'

},

body: JSON.stringify(data)

}).catch(error => console.error('Error:', error));

 

데이터 전송후 응답을 기다리지 않는다. (후처리가 필요없는 경우 유용)

 

 

let formData = new FormData();

formData.append('cmd', 'fetchOrders');

formData.append('seqm', mall.seq);

formData.append('id', mallId);

formData.append('pw', mallPw);

 

fetch('/jbs/jbg', {

method: 'POST',

body: formData

});

 

이 예제 역시 후처리가 필요없어서 서버에 요청하고 에러 처리도 없이 끝내고 있다.

다만 formData 형태로 서버에 데이터를 전송하고 싶을때 참고한다.

 

 

 

번호 제목 글쓴이 날짜 조회 수
246 [Gemini] ajax 와 fetch 의 차이 황제낙엽 2025.01.04 205
245 [검토 완료] 디바이스 카메라로 촬영한 사진을 서버에 업로드하기 샘플 황제낙엽 2024.11.21 310
244 브라우저에서 이미지를 편집(crop 등) 할 수 있는 오픈소스 Cropper.js 황제낙엽 2024.11.16 341
243 [ChatGPT] json data 의 정렬 [1] 황제낙엽 2024.07.23 204
242 DOMContentLoaded 이벤트와 window.onload 이벤트 황제낙엽 2024.07.15 231
» fetch() 사용 예제들 황제낙엽 2024.07.09 263
240 [Copilot] Vanilla JavaScript에서 외부 스크립트 파일에 정의된 함수들을 로드 황제낙엽 2024.06.21 275
239 [Copilot] ES6 모듈(module) 문법 황제낙엽 2024.06.21 219
238 [Copilot] JSON 객체 내부 데이터를 순회하면서 조회하는 코드 황제낙엽 2024.06.02 213
237 [Copilot] JavaScript로 서버에 특정 값을 POST 방식으로 전달하고 응답을 기다리지 않고 바로 종료 황제낙엽 2024.05.31 394
236 json 데이터 내의 변수명에 prefix 로 type 표현하기 황제낙엽 2024.04.15 211
235 fetch() 함수 사용 예제 file 황제낙엽 2023.11.23 435
234 현재 document 의 host 와 port 를 얻는 방법 황제낙엽 2023.10.03 670
233 (Bard) FileReader 로 여러개의 파일을 read 하는 법 file 황제낙엽 2023.08.23 469
232 How to build a file upload service with vanilla JavaScript file 황제낙엽 2023.08.22 287
231 (Bard) JavaScript로 JSON 배열을 작성하는 방법 황제낙엽 2023.08.21 235
230 모바일 브라우저에서 file input element 를 이용하여 여러장의 이미지를 서버에 전송하려 할때 [1] 황제낙엽 2023.08.21 318
229 navigator.mediaDevices 황제낙엽 2023.08.21 294
228 Barcode Detection API 황제낙엽 2023.08.06 513
227 정규식을 이용한 이메일 검증 스크립트 file 황제낙엽 2023.06.25 199