Access to XMLHttpRequest at OOO/insertCustomer.do from origin 127.0.0.1:5000 has been blocked by CORS policy:

No 'Access-Control-Allow-Origin' header is present on the requested resource.

 

이런 오류는 주로 ajax로 API를 호출할때 동일 서버가 아닌 다른 서버를 호출할때 오류가 난다.

 

이런 오류가 발생할때 처리방법

 

1. 서버의 API 함수 내에서 처리하는 방법

    @RequestMapping(value = "/insertCustomer.do", method = RequestMethod.POST)
    @ResponseBody
    public ResponseSet insertCustomer(HttpServletRequest request, HttpServletResponse response, @RequestParam Map<String, String> param) {
    	
    	response.setHeader("Access-Control-Allow-Origin", "*");
        response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
        response.setHeader("Access-Control-Max-Age", "3600");
        response.setHeader("Access-Control-Allow-Headers", "x-requested-with");
        
        ...
    }

 

2. ajax를 호출하는 서버가 node.js 인경우 

   아래 모듈 설치

npm install express --save-dev
npm install cors --save-dev

   코드 작성

var app = require("express")();

var cors = require('cors')();
app.use(cors);

참조 링크

https://velog.io/@wlsdud2194/cors

 

CORS에 대한 간단한 고찰

이 포스트에서는 CORS에 대한 이슈에 대해서 다뤄볼려고 합니다. 웹 개발을 하다보면 한번쯤 겪게되는 이슈로 클라이언트와 서버의 오리진이 다를 때 발생하는 이슈입니다. 🤔 CORS? 크로스 도메�

velog.io

https://m.mkexdev.net/339

 

[Node.js] CORS 설정(Cross Domain 요청 허용)

웹은 기본적으로 '동일출저정책(Same Origin Policy, SOP)' 정책을 따른다. 이는 보안을 위한 기본정책으로, SOP는 하나의 출처(Origin)에서 로드된 문서나 스크립트가 다른 출처에 존재하는 리소스와 상��

m.mkexdev.net

 

3. 기타 

 

 

 

 

 

 

+ Recent posts