yoursyun

[iis7] jquery, json cross domain 처리 본문

program/asp

[iis7] jquery, json cross domain 처리

yoursyun 2017. 4. 5. 11:27

a.com 에서 b.com 의 json 형태로 데이터를 받아와야 할일이 있었다. ( 크로스 도메인 cors 처리 )


호출 ajax (a.com)


$.ajax({

            url: "http://b.com/called.asp"


            , type: "POST"

            , dataType: "json"

            , contentType: "application/json"

   

            , data: {

                "title":"test"

            }

            , error: function (res) {

                $("#print").text("error");

                console.log("error");

            }

            , success: function (res) {

                $("#print").text(res.title);

                console.log(res);

            }

        });


호출되어지는 asp ( b.com )


인터넷에서는 아래와 같이 ASP 헤더를 추가 하라고 하였으나, 이렇게는 동작이 되지 않았다.

call response.addHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS")

call response.addHeader("Access-Control-Allow-Headers", "X-Requested-With, Content-Type")

call response.addHeader("Access-Control-Allow-Origin", "http://a.com")


한참 삽질후 iis > 해당사이트 ( b.com )의 > 구성편집기 ( web.config ) 에 아래의 내용을 추가 해주면 된다.


<system.webServer>

<httpProtocol>

            <customHeaders>

                <add name="Access-Control-Allow-Headers" value="Origin, X-Requested-With, Content-Type, Accept" />

                <add name="Access-Control-Allow-Methods" value="POST, GET, OPTIONS" />

                <add name="Access-Control-Allow-Origin" value="http://a.com" />

            </customHeaders>

        </httpProtocol>

</system.webServer>


* web.config 를 적용해도 좋고, 구성편집기에서 입력해도 된다.

반응형