JavaScript 4

[CORS] Access-Control-Allow-Origin 해결

AJAX로 JSON 받아오라고 하면 가끔 뜨는 오류가 있습니다.. Access-Control-Allow-Origin인데요 저도 연습하다가 이게 계속 뜨길래 니가 죽나 내가 죽나 한번 해 보자 하면서 결국 해결을 했습니다.. 이 페이지를 참고 했습니다 (velog.io/@jmkim87/%EC%A7%80%EA%B8%8B%EC%A7%80%EA%B8%8B%ED%95%9C-CORS-%ED%8C%8C%ED%97%A4%EC%B3%90%EB%B3%B4%EC%9E%90) Header에 Access-Control-Allow-Origin 설정을 추가하여 제대로 된 return이 가능토록 하였습니다. 그냥 JSON 파일이면 로컬이 아닌 서버에 두는 것 만으로 제대로된 리턴이 돌아오는데 Servlet에서 PrintWriter를..

[Ajax] origin 'null' has been blocked by CORS policy 해결

기억을 떠올리기 위해 오랫만에 간단한 Ajax를 시도하고 있었는데 오류가 발생했습니다. 이 오류의 원인은 간단히 말하면 '로컬환경에서 실행했기 때문' 입니다. 왜 로컬환경에서 실행한게 원인인가요? 그 이유는 동일 출처 정책 즉 SOP (Same Origin Policy) 때문입니다. 간단하게 얘기하면 같은 출처에서 불러온 리소스가 다른 곳에서 불러온 리소스와 상호작용하는 것을 막는 브라우저의 보안 방침입니다. 근데 로컬이면 같은 곳에서 실행되는게 아닌가 싶었습니다만 다른 분 블로그를 보고 이유를 알았습니다. local의 리소스는 출처가 null 이기 때문에 걸린다는 것을요.. 출처가 null 리소스는 상호작용이고 나발이고 불러오는 순간 SOP에 걸리게 된다고 하네요.. 그래서 제 서버에 올려보았고 정상적..

Node.js 2. 노드의 내장 모듈

인덱스 OS Path URL Querystring Crypto 노드의 내장 모듈은 버전에 따라 천차만별이기 때문에 버전과 상관없이 작동하는 모듈만을 적도록 한다. 1. OS OS와 컴퓨터의 정보를 가져오는 모듈이다. process과 겹치는 부분도 있지만 process보다 더 직관적이고 사용하기 쉽다. 컴퓨터 내부 자원에 접근해야하는 경우에 사용하며 일반적인 웹 서비스 (웹 백엔드) 를 제작할때는 사용할 일이 극히 적다. 운영체제 별로 다른 서비스를 제공하고 싶을 때 유용하다. os.constants 객체에는 각종 에러와 신호에 대한 정보가 담겨있고 에러가 발생했을때 에러코드를 보여주기 때문에 이를 가지고 검색을 할 수 있다. 2. Path 폴더와 파일의 경로를 쉽게 조작하도록 도와주는 모듈이다. 그렇게 ..

JavaScript/Node.js 2020.10.27

Node.js 1. 노드의 내장 객체

인덱스 global console timer __filename, __dirname module, exports process 1. Global global 객체는 브라우저의 window 와 같은 전역 객체이다. 모든 파일에서 접근이 가능하며, window.open 에서 window를 생략하고 open으로 호출이 가능한 것처럼 global도 생략이 가능하다 global 객체 내부에는 수많은 속성이 들어가 있으며 require() 함수도 이중의 하나이다. 전역 객체라는 점을 이용하여 간단한 데이터를 파일끼리 공유할때 사용할 수도 있다. 너무 남용하게 되면 유지보수에 어려움을 겪을 수 있다. 2. Console console 객체는 global 객체 안에 들어 있다. 바닐라 자바스크립트의 console와 거..

JavaScript/Node.js 2020.10.22