반응형
안녕하세요 여러분
크리에이트 메이커 입니다 ~~~
작업을 하던중, nodejs에서 스케줄링을 통해 DB접속 후 메일발송하는 기능을 만들고 있었는데요.
보통 fetch는 js파일에서 기본적으로 사용되지만,
서버를 관리하는 js파일에서는 기본적으로 사용이 안되더라구요.
처음에는 $.ajax로 메일을 보내려고 했는데 이역시 도저히 되질 않아,
await fetch로 바꾸었답니다.
근데 역시 몇번 실패를 하고 나서 원인을 찾으니,,,
서버관리하는 js파일에서 http통신을 하면 상대측에서 이 데이터를 웹에서 보낸것이 아니라고 판단을 하여
오류를 내보냅니다.
보통우리는 웹에서 함수를 사용해서 보내기 떄문에 잘 넘어갔었는데,
서버관리용 js파일에서는 바로 적용이 안되더군요.
그래서 방법을 찾았습니다.
먼저
npm install node-fetch@2
를 설치합니다. 이때 npm install node-fetch 이게 아니라 npm install node-fetch@2 를 설치하셔야 합니다.
그리고 const fetch = require("node-fetch")를 선언해주고,
평소 웹에서 사용하던 식으로
const response = await fetch('https://', {
method: 'POST',
headers: {
'origin': 'http://localhost',
'Content-type': 'application/json'
}, body: JSON.stringify(param)
}).then((httpResponse) => {
if (httpResponse.ok) {
console.log('Your mail is sent!');
} else {
return httpResponse.text()
.then(text => Promise.reject(text));
}
})
.catch((error) => {
console.log('Oops... ' + error);
});
이렇게 사용해 주시면 됩니다.
아 그리고
반드시 헤더에
'origin': 'http://localhost',
를 추가해 주세용~
그럼 즐거운 개발!! 수고 !
외주 문의
https://createmakerinc.com/createmakerconsult
로 문의 주세용
반응형
'IT기술(코딩) > nodejs' 카테고리의 다른 글
stripe api my doc javascript(js) with nodejs (1) | 2023.12.17 |
---|---|
multer 사용시에 [Violation] handler took 발생 현상 원인 및 조치 자바스크립트 2. (0) | 2023.09.23 |
자바스크립트 express multer 다중파일 여러파일 이미지 업로드 할때 한개만 업로듣 되는현상 (0) | 2023.09.23 |
multer 사용시에 [Violation] handler took 발생 현상 원인 및 조치 자바스크립트 1. (0) | 2023.08.30 |
multer 응용 및 내부 기능 한계점 극복 formdata사용 (0) | 2023.07.17 |