CORS 이슈 해결
1. 헤더를 이용.
response.setHeader("Access-Control-Allow-Origin", "*");
* 는 모든 도메인에 대해 허용하겠다는 의미. 즉 어떤 웹사이트라도 이 서버에 접근하여 AJAX 요청하여 결과를 가져갈 수 있도록 허용하겠다는 의미.
만약 보안 이슈가 있어서 특정 도메인만 허용해야 한다면 * 대신 특정 도메인만을 지정할 수 있음.
2. JSONP 이용
<script> 태그는 SOP(same-origin-policy)에 해당하지않는다. 서로 다른 도메인간의 JS 호출을 위해 jsonp가 사용되었다. jsonp를 사용하기 위해서는 서버단에서 이를 지원해야한다.
아래의 예를 보자.
--서버--
<script type="text/javascript">
sendUserInfo({"name": "Foo", "Id": 1234, "rank": 7})
</script>
--클라이언트--
<body>
<p id="demo"></p>
<script type="text/javascript" src="http://serverurl.com/result.json?callback=sendUserInfo"></script>
<script>
function sendUserInfo(myObj) {
document.getElementById("demo").innerHTML = myObj.name;
}
</script>
</body>
출처:
1. w3schools.com/js/js_json_jsonp.asp