복붙노트

[JQUERY] (CORS) 게시 요청 가공 크로스 원산지 자원 공유를 얻는 방법

JQUERY

(CORS) 게시 요청 가공 크로스 원산지 자원 공유를 얻는 방법

해결법


  1. 1.나는 마지막으로이 링크 우연히 "일반 자바 스크립트에서 CORS POST 요청 작동하지만 왜 jQuery로?" 그 jQuery를 1.5.1이를 추가하는 노트

    나는 마지막으로이 링크 우연히 "일반 자바 스크립트에서 CORS POST 요청 작동하지만 왜 jQuery로?" 그 jQuery를 1.5.1이를 추가하는 노트

     Access-Control-Request-Headers: x-requested-with
    

    모든 CORS 요청에 헤더. jQuery를 1.5.2이 작업을 수행하지 않습니다. 또한, 서버의 응답 헤더를 설정 동일한 질문에 따라

    Access-Control-Allow-Headers: *
    

    응답이 계속 허용하지 않습니다. 당신은 응답 헤더가 특별히 필요한 헤더를 포함 확인해야합니다. 즉 :

    Access-Control-Allow-Headers: x-requested-with 
    

  2. 2.의뢰:

    의뢰:

     $.ajax({
                url: "http://localhost:8079/students/add/",
                type: "POST",
                crossDomain: true,
                data: JSON.stringify(somejson),
                dataType: "json",
                success: function (response) {
                    var resp = JSON.parse(response)
                    alert(resp.status);
                },
                error: function (xhr, status) {
                    alert("error");
                }
            });
    

    응답:

    response = HttpResponse(json.dumps('{"status" : "success"}'))
    response.__setitem__("Content-type", "application/json")
    response.__setitem__("Access-Control-Allow-Origin", "*")
    
    return response
    

  3. 3.JQuery와 아약스 내 요청 헤더를 설정하여 구글 거리 매트릭스 API를 사용할 때 나는 내 자신의 문제를 해결했다. 아래를보십시오.

    JQuery와 아약스 내 요청 헤더를 설정하여 구글 거리 매트릭스 API를 사용할 때 나는 내 자신의 문제를 해결했다. 아래를보십시오.

    var settings = {
              'cache': false,
              'dataType': "jsonp",
              "async": true,
              "crossDomain": true,
              "url": "https://maps.googleapis.com/maps/api/distancematrix/json?units=metric&origins=place_id:"+me.originPlaceId+"&destinations=place_id:"+me.destinationPlaceId+"&region=ng&units=metric&key=mykey",
              "method": "GET",
              "headers": {
                  "accept": "application/json",
                  "Access-Control-Allow-Origin":"*"
              }
          }
    
          $.ajax(settings).done(function (response) {
              console.log(response);
    
          });
    

    내가 설정에 추가 된 것을 참고 **

    "headers": {
              "accept": "application/json",
              "Access-Control-Allow-Origin":"*"
          }
    

    ** 이게 도움이 되길 바란다.


  4. 4.나에게 해결책을 찾기 위해 약간의 시간이 걸렸습니다.

    나에게 해결책을 찾기 위해 약간의 시간이 걸렸습니다.

    경우 서버 올바르게 응답과 요청이 문제가, 당신은 withCredentials을 추가해야합니다 : 진정한 요청의 xhrFields에 :

    $.ajax({
        url: url,
        type: method,
        // This is the important part
        xhrFields: {
            withCredentials: true
        },
        // This is the important part
        data: data,
        success: function (response) {
            // handle the response
        },
        error: function (xhr, status) {
            // handle errors
        }
    });
    

  5. 5.그럼 난 주 동안이 문제로 고생.

    그럼 난 주 동안이 문제로 고생.

    이 작업을 수행하는 가장 쉽고 가장 준수 및 비 해키 방법은 아마도 브라우저를 기반으로 통화를하지 않고 크로스 원산지 요청을 처리 할 수있는 업체 자바 스크립트 API를 사용하는 것입니다.

    예를 들면 페이스 북 자바 스크립트 API와 구글 JS API를.

    경우 귀하의 API 제공자가 오래과 응답 크로스 원산지 자원 기원 '*'헤더를 지원하지 않습니다와 JS API를 (예 나는 당신에 대해 야후를 이야기하고있다)이없는, 당신은 세 가지 옵션 - 중 하나를 강타하고 있습니다


  6. 6.Laravel와 함께이를 사용하여 내 문제를 해결했다. 그냥 JQuery와 요청 액세스 제어 - 요청 헤더에이 헤더를 추가 : X-와-요청 및 확인 서버 측 응답이 헤더 세트 액세스 제어 - 허용 - 헤더가 있는지 확인 : *를.

    Laravel와 함께이를 사용하여 내 문제를 해결했다. 그냥 JQuery와 요청 액세스 제어 - 요청 헤더에이 헤더를 추가 : X-와-요청 및 확인 서버 측 응답이 헤더 세트 액세스 제어 - 허용 - 헤더가 있는지 확인 : *를.


  7. 7.이것은 나를 위해 일한 것을 요약 한 것입니다 :

    이것은 나를 위해 일한 것을 요약 한 것입니다 :

    새로운 기능 (포장 $ 아약스 단순화를) 정의 :

    jQuery.postCORS = function(url, data, func) {
      if(func == undefined) func = function(){};
      return $.ajax({
        type: 'POST', 
        url: url, 
        data: data, 
        dataType: 'json', 
        contentType: 'application/x-www-form-urlencoded', 
        xhrFields: { withCredentials: true }, 
        success: function(res) { func(res) }, 
        error: function() { 
                func({}) 
        }
      });
    }
    

    용법:

    $.postCORS("https://example.com/service.json",{ x : 1 },function(obj){
          if(obj.ok) {
               ...
          }
    });
    

    또한되는 .done, .fail 등 작동 :

    $.postCORS("https://example.com/service.json",{ x : 1 }).done(function(obj){
          if(obj.ok) {
               ...
          }
    }).fail(function(){
        alert("Error!");
    });
    

    (example.com이 호스팅이 경우) 서버 측 (PHP에서 몇 가지 예제 코드를 추가)이 헤더를 설정 :

    header('Access-Control-Allow-Origin: https://not-example.com');
    header('Access-Control-Allow-Credentials: true');
    header('Access-Control-Max-Age: 604800');
    header("Content-type: application/json");
    $array = array("ok" => $_POST["x"]);
    echo json_encode($array);
    

    이것은 내가 JS에서 진정으로 POST 크로스 도메인에 알고있는 유일한 방법입니다.

    JSONP는 서버 로그에서 중요한 정보를 표시 할 수 있습니다 GET으로 POST를 변환합니다.


  8. 8.내가 여기에 응답 할 것이다, 그래서 어떤 이유로, GET 요청에 대한 질문이 하나와 합병했다.

    내가 여기에 응답 할 것이다, 그래서 어떤 이유로, GET 요청에 대한 질문이 하나와 합병했다.

    이 간단한 기능은 비동기 CORS 지원 페이지에서 HTTP 상태 응답을 얻을 것이다. GET 또는 POST 사용 여부 - 당신이 그것을 실행하면 XMLHttpRequest를 통해 액세스 할 경우 적절한 헤더 만 페이지가 200 개 상태를 반환 볼 수 있습니다. 아무것도 그냥 JSON 개체를 필요로하는 경우 가능 JSONP를 사용하는 것을 제외하고이 문제를 해결하기 위해 클라이언트 측에서 수행 할 수 없습니다.

    다음은 쉽게 xmlHttpRequestObject 객체에있는 데이터를 얻기 위해 수정 될 수있다 :

    함수 checkCorsSource (소스) { VAR xmlHttpRequestObject; 경우 (window.XMLHttpRequest) { xmlHttpRequestObject 새로운 인 XMLHttpRequest () =; 경우 (xmlHttpRequestObject! = NULL) { VAR sUrl = ""; 경우 (소스 == "구글") { VAR sUrl = "https://www.google.com"; } 다른 { VAR sUrl = "https://httpbin.org/get"; } . document.getElementById를 ( "txt1") = innerHTML을 「리퀘스트 전송 ... "; xmlHttpRequestObject.open는 (사실 sUrl을 "GET"); xmlHttpRequestObject.onreadystatechange = 함수 () { 경우 (xmlHttpRequestObject.readyState == 4 && xmlHttpRequestObject.status == 200) { . document.getElementById를 ( "txt1") innerHTML을는 = "200 응답이 수신"; } 다른 { . document.getElementById를 ( "txt1") innerHTML을은 = "200 응답 실패!"; } } xmlHttpRequestObject.send (); } 다른 { 는 Window.alert는 ( "오류는 XMLHttpRequest의 객체를 생성 클라이언트가되지 CORS가 활성화."); } } } <제목> 확인 페이지는 고르 인 경우

    은 CORS 지원 소스 중 하나를 가지고 다음과 같은 HTTP 헤더 :

    • 액세스 제어 - 허용 - 헤더 : *
    • 액세스 제어는--허용 헤더 : X-요청-와 페이지가 CORS 허용하는 경우

      확인 버튼을 클릭하여

      <= 값의 onclick = "Google 페이지 확인" "인 btn1"입력 타입 = "버튼"NAME = "("구글) checkCorsSource "> <값 "인 btn1"입력 타입 = "버튼"이름 =의 onclick = "고르 페이지 확인" "checkCorsSource ( '고르')를">


    • 9.결과가 없습니다 위에서 나는 피곤 다 - 나는 JQuery와 아약스 나만 요청이 벌금을했다 GET, POST 요청에 대한 문제를 고르 준 동일한 문제를 가지고 있었다. 나는 JQuery와 바로 내 문제를 해결하는 대신 XMLHttpRequest의 사용을 통해 변경 등 내 서버에 올바른 헤더를 가지고 있었다. 나는 그것을 사용 JQuery와의 버전에 상관없이 그것을 해결되지 않았다. 또한 가져 오기 이전 버전과 브라우저 호환성을 필요로하지 않는 경우 문제없이 작동합니다.

      결과가 없습니다 위에서 나는 피곤 다 - 나는 JQuery와 아약스 나만 요청이 벌금을했다 GET, POST 요청에 대한 문제를 고르 준 동일한 문제를 가지고 있었다. 나는 JQuery와 바로 내 문제를 해결하는 대신 XMLHttpRequest의 사용을 통해 변경 등 내 서버에 올바른 헤더를 가지고 있었다. 나는 그것을 사용 JQuery와의 버전에 상관없이 그것을 해결되지 않았다. 또한 가져 오기 이전 버전과 브라우저 호환성을 필요로하지 않는 경우 문제없이 작동합니다.

              var xhr = new XMLHttpRequest()
              xhr.open('POST', 'https://mywebsite.com', true)
              xhr.withCredentials = true
              xhr.onreadystatechange = function() {
                if (xhr.readyState === 2) {// do something}
              }
              xhr.setRequestHeader('Content-Type', 'application/json')
              xhr.send(json)
      

      희망이 같은 문제를 가진 다른 사람이 도움이됩니다.


    • 10.어떤 이유로 경우 헤더 또는 당신은 아직도 당신이 아파치 ProxyPass로 사용을 고려할 수 있습니다 효과가없고있는 설정 제어 정책을 추가하는 동안 ...

      어떤 이유로 경우 헤더 또는 당신은 아직도 당신이 아파치 ProxyPass로 사용을 고려할 수 있습니다 효과가없고있는 설정 제어 정책을 추가하는 동안 ...

      하나의 <가상 호스트>의 예를 들어 그 용도는 다음 두 지시어를 추가 SSL :

      SSLProxyEngine On
      ProxyPass /oauth https://remote.tld/oauth
      

      (a2enmod를 사용하여로드) 반드시 다음 아파치 모듈이로드되어 있는지 확인합니다 :

      분명히 당신은 아파치 프록시를 사용하기 위해 귀하의 AJAX 요청 URL을 변경해야 ...


    • 11.이 파티에 조금 늦게,하지만 난 며칠 동안이 고민하고있다. 그것은 가능하고, 내가 여기에있는 답변을 아무도 일을 없다. 그것은 믿을 간단합니다. 여기에 아약스 호출입니다 :

      이 파티에 조금 늦게,하지만 난 며칠 동안이 고민하고있다. 그것은 가능하고, 내가 여기에있는 답변을 아무도 일을 없다. 그것은 믿을 간단합니다. 여기에 아약스 호출입니다 :

      <제목> 자바 스크립트 테스트 <스크립트 SRC = "http://code.jquery.com/jquery-latest.min.js"> <스크립트 유형 = "텍스트 / 자바 스크립트"> $ (문서) .domain = 'XXX.com'; $ (문서) .ready (함수 () { {(아약스 $ xhrFields : {고르 : 거짓} 입력 : "GET", "http://XXXX.com/test.php?email='steve@XXX.com '": 홈페이지 성공 : 기능 (데이터) { 경보 (데이터); }, 오류 : 함수 (X, Y, Z) { 경고 (x.responseText + ": EEE :"+ x.status); } }); });

      다음은 서버 측에서 PHP는 다음과 같습니다

      PHP 테스트 </ TITLE> </ head> <body> <? php에 헤더 ( '원산지 : xxx.com'); 헤더 ( '액세스 제어 - 허용 - 원산지 : *'); $ 서버 이름 = "sqlxxx"; $ 사용자 이름 = "XXXX"; $ 암호 = "SSS"; $ CONN 새로운 mysqli ($ 서버 이름, $ 이름, $ 암호) =; 경우 ($ conn-> connect_error) { 죽을 ( "연결 실패 :"$ conn-> connect_error.); } $ SQL = "SELECT 이메일, 상태, msi.usersLive FROM 유저 데이터"; $ 결과가 $를 = conn-> 쿼리 ($ SQL); 경우 ($에서 그 결과> NUM_ROWS> 0) { 반면 ($ 행 = $에서 그 결과> fetch_assoc ()) { $ 행 [ "메일"] 에코. ":". $ 행 [ "상태"]. ":". $ 행 [ "유저 데이터"]. "<BR>"; } } 다른 { 에코 "{}"; } ) (가까운 conn->을 $; ?> </ body></p> </li> </ul> <p>from <a href='https://stackoverflow.com/questions/5750696/how-to-get-a-cross-origin-resource-sharing-cors-post-request-working' target='_blank'>https://stackoverflow.com/questions/5750696/how-to-get-a-cross-origin-resource-sharing-cors-post-request-working</a> by cc-by-sa and MIT license</p></div> <!-- System - START --> <!-- System - END --> <!-- Adfit_PC - START --> <!-- Adfit_PC - END --> <!-- GoogleAdsenseForResponsive - START --> <div class="tt_adsense_bottom" style="margin-top:30px;"> <DIV class='ads_adsense_img' style='margin:40px 0px 40px 0px;'> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <!-- 디스플레이광고만 --> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-8393857339019314" data-ad-slot="7474886381" data-ad-format="auto"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </DIV> </div> <!-- GoogleAdsenseForResponsive - END --> <script onerror="changeAdsenseToAdfit()" async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-9527582522912841" crossorigin="anonymous"></script> <!-- inventory --> <ins class="adsbygoogle" style="margin:50px 0; display:block" data-ad-client="ca-pub-9527582522912841" data-ad-slot="4947159016" data-ad-format="auto" data-full-width-responsive="true" data-ad-type="inventory" data-ad-adfit-unit="DAN-HCZEy0KQLPMGnGuC"></ins> <script id="adsense_script"> (adsbygoogle = window.adsbygoogle || []).push({}); </script> <script> if(window.ObserveAdsenseUnfilledState !== undefined){ ObserveAdsenseUnfilledState(); } </script> <div class="container_postbtn #post_button_group"> <div class="postbtn_like"><script>window.ReactionButtonType = 'reaction'; window.ReactionApiUrl = '//cnpnote.tistory.com/reaction'; window.ReactionReqBody = { entryId: 18922 }</script> <div class="wrap_btn" id="reaction-18922"></div> <script src="https://tistory1.daumcdn.net/tistory_admin/userblog/tistory-717c7b1234a0a46519d1483dc3db06322985d92c/static/script/reaction-button-container.min.js"></script><div class="wrap_btn wrap_btn_share"><button type="button" class="btn_post sns_btn btn_share" aria-expanded="false" data-thumbnail-url="https://t1.daumcdn.net/tistory_admin/static/images/openGraph/opengraph.png" data-title="[JQUERY] (CORS) 게시 요청 가공 크로스 원산지 자원 공유를 얻는 방법" data-description="(CORS) 게시 요청 가공 크로스 원산지 자원 공유를 얻는 방법 해결법 1.나는 마지막으로이 링크 우연히 "일반 자바 스크립트에서 CORS POST 요청 작동하지만 왜 jQuery로?" 그 jQuery를 1.5.1이를 추가하는 노트 나는 마지막으로이 링크 우연히 "일반 자바 스크립트에서 CORS POST 요청 작동하지만 왜 jQuery로?" 그 jQuery를 1.5.1이를 추가하는 노트 Access-Control-Request-Headers: x-requested-with 모든 CORS 요청에 헤더. jQuery를 1.5.2이 작업을 수행하지 않습니다. 또한, 서버의 응답 헤더를 설정 동일한 질문에 따라 Access-Control-Allow-Headers: * 응답이 계속 허용하지 않습니다. 당신은 응.." data-profile-image="https://t1.daumcdn.net/tistory_admin/static/manage/images/r3/default_L.png" data-profile-name="cnpnote" data-pc-url="https://cnpnote.tistory.com/entry/JQUERY-CORS-%EA%B2%8C%EC%8B%9C-%EC%9A%94%EC%B2%AD-%EA%B0%80%EA%B3%B5-%ED%81%AC%EB%A1%9C%EC%8A%A4-%EC%9B%90%EC%82%B0%EC%A7%80-%EC%9E%90%EC%9B%90-%EA%B3%B5%EC%9C%A0%EB%A5%BC-%EC%96%BB%EB%8A%94-%EB%B0%A9%EB%B2%95" data-relative-pc-url="/entry/JQUERY-CORS-%EA%B2%8C%EC%8B%9C-%EC%9A%94%EC%B2%AD-%EA%B0%80%EA%B3%B5-%ED%81%AC%EB%A1%9C%EC%8A%A4-%EC%9B%90%EC%82%B0%EC%A7%80-%EC%9E%90%EC%9B%90-%EA%B3%B5%EC%9C%A0%EB%A5%BC-%EC%96%BB%EB%8A%94-%EB%B0%A9%EB%B2%95" data-blog-title="복붙노트"><span class="ico_postbtn ico_share">공유하기</span></button> <div class="layer_post" id="tistorySnsLayer"></div> </div><div class="wrap_btn wrap_btn_etc" data-entry-id="18922" data-entry-visibility="public" data-category-visibility="public"><button type="button" class="btn_post btn_etc2" aria-expanded="false"><span class="ico_postbtn ico_etc">게시글 관리</span></button> <div class="layer_post" id="tistoryEtcLayer"></div> </div></div> <button type="button" class="btn_menu_toolbar btn_subscription #subscribe" data-blog-id="2840920" data-url="https://cnpnote.tistory.com/entry/JQUERY-CORS-%EA%B2%8C%EC%8B%9C-%EC%9A%94%EC%B2%AD-%EA%B0%80%EA%B3%B5-%ED%81%AC%EB%A1%9C%EC%8A%A4-%EC%9B%90%EC%82%B0%EC%A7%80-%EC%9E%90%EC%9B%90-%EA%B3%B5%EC%9C%A0%EB%A5%BC-%EC%96%BB%EB%8A%94-%EB%B0%A9%EB%B2%95" data-device="web_pc"><em class="txt_state">구독하기</em><strong class="txt_tool_id">복붙노트</strong><span class="img_common_tistory ico_check_type1"></span></button> <div data-tistory-react-app="SupportButton"></div> </div> <!-- PostListinCategory - START --> <div class="another_category another_category_color_gray"> <h4>'<a href="/category/JQUERY">JQUERY</a>' 카테고리의 다른 글</h4> <table> <tr> <th><a href="/entry/JQUERY-jQuery%EB%A5%BC-%EA%B2%8C%EC%8B%9C-JSON">[JQUERY] jQuery를 게시 JSON</a>  <span>(0)</span></th> <td>2020.09.24</td> </tr> <tr> <th><a href="/entry/JQUERY-%EC%96%B4%EB%96%BB%EA%B2%8C-jQuery%EB%A5%BC%EC%97%90-%EB%A1%9C%EB%94%A9-%EC%8A%A4%ED%94%BC%EB%84%88%EB%A5%BC-%EB%B3%B4%EC%97%AC">[JQUERY] 어떻게 jQuery를에 로딩 스피너를 보여?</a>  <span>(0)</span></th> <td>2020.09.24</td> </tr> <tr> <th><a href="/entry/JQUERY-%EC%9A%A9%EC%A7%80-input-%ED%83%80%EC%9E%85-%ED%8C%8C%EC%9D%BC-jQuery%EB%A5%BC-%EC%82%AC%EC%9A%A9">[JQUERY] 용지 <input 타입 = '파일'/> jQuery를 사용</a>  <span>(0)</span></th> <td>2020.09.24</td> </tr> <tr> <th><a href="/entry/JQUERY-jQuery%EB%A5%BC-%EC%84%A0%ED%83%9D-%EC%A0%95%EA%B7%9C-%ED%91%9C%ED%98%84%EC%8B%9D">[JQUERY] jQuery를 선택 정규 표현식</a>  <span>(0)</span></th> <td>2020.09.24</td> </tr> <tr> <th><a href="/entry/JQUERY-%EC%95%84%EC%95%BD%EC%8A%A4-%ED%8A%9C%ED%86%A0%EB%A6%AC%EC%96%BC-%EA%B2%8C%EC%8B%9C%EB%AC%BC%EC%97%90-%EB%8C%80%ED%95%9C-%EC%96%BB%EC%9D%84-%EB%A7%88%EA%B0%90">[JQUERY] 아약스 튜토리얼 게시물에 대한 얻을 [마감]</a>  <span>(0)</span></th> <td>2020.09.24</td> </tr> </table> </div> <!-- PostListinCategory - END --> </div> <div class="entry-footer"> <div class="actionTrail"> <a href="#tb" onclick=""></a>, <a href="#rp" onclick=""></a> </div> <div data-tistory-react-app="Namecard"></div> </div> </div> </div><!-- entry close --> </article> </div><!-- container close --> <aside role="complementary" id="sidebar"> <div class="container"> <div class="sidebar-inner"> <div class="module module_plugin"> <!-- Adfit_PC - START --> <ins class="kakao_ad_area" style="display:none;" data-ad-unit = "DAN-ubre63wuo3sm" data-ad-width = "160" data-ad-height = "600"></ins> <script type="text/javascript" src="//t1.daumcdn.net/kas/static/ba.min.js" async></script> <!-- Adfit_PC - END --> </div> <!-- 검색 모듈 --> <div class="widget widget-search col-md-3 col-xs-12"> <h3><i class="icon-magnifier icons"></i> Search</h3> <input type="text" name="search" value="" onkeypress="if (event.keyCode == 13) { try { window.location.href = '/search' + '/' + looseURIEncode(document.getElementsByName('search')[0].value); document.getElementsByName('search')[0].value = ''; return false; } catch (e) {} }"/> <input value="검색" type="button" onclick="try { window.location.href = '/search' + '/' + looseURIEncode(document.getElementsByName('search')[0].value); document.getElementsByName('search')[0].value = ''; return false; } catch (e) {}" class="btn btn-default btn-sm"/> </div> <!-- 카테고리 모듈 --> <div class="widget widget-category col-md-3 col-xs-12"> <h3><i class="icon-direction icons"></i> 카테고리</h3> <ul class="tt_category"><li class=""><a href="/category" class="link_tit"> 분류 전체보기 </a> <ul class="category_list"><li class=""><a href="/category/PHP" class="link_item"> PHP </a></li> <li class=""><a href="/category/%EC%8A%A4%ED%81%AC%EB%9E%98%EC%B9%98%203.0" class="link_item"> 스크래치 3.0 </a></li> <li class=""><a href="/category/PYTHON" class="link_item"> PYTHON </a></li> <li class=""><a href="/category/SPRING" class="link_item"> SPRING </a></li> <li class=""><a href="/category/HADOOP" class="link_item"> HADOOP </a></li> <li class=""><a href="/category/SCALA" class="link_item"> SCALA </a></li> <li class=""><a href="/category/MONGODB" class="link_item"> MONGODB </a></li> <li class=""><a href="/category/REDIS" class="link_item"> REDIS </a></li> <li class=""><a href="/category/RUBY-ON-RAILS" class="link_item"> RUBY-ON-RAILS </a></li> <li class=""><a href="/category/SQL" class="link_item"> SQL </a></li> <li class=""><a href="/category/NODEJS" class="link_item"> NODEJS </a></li> <li class=""><a href="/category/JQUERY" class="link_item"> JQUERY </a></li> <li class=""><a href="/category/ANDROID" class="link_item"> ANDROID </a></li> <li class=""><a href="/category/SWIFT" class="link_item"> SWIFT </a></li> <li class=""><a href="/category/HTML" class="link_item"> HTML </a></li> <li class=""><a href="/category/CSS" class="link_item"> CSS </a></li> <li class=""><a href="/category/REACTJS" class="link_item"> REACTJS </a></li> <li class=""><a href="/category/VUEJS" class="link_item"> VUEJS </a></li> <li class=""><a href="/category/WORDPRESS" class="link_item"> WORDPRESS </a></li> <li class=""><a href="/category/ANGULAR" class="link_item"> ANGULAR </a></li> <li class=""><a href="/category/MICROSERVICE" class="link_item"> MICROSERVICE </a></li> <li class=""><a href="/category/DJANGO" class="link_item"> DJANGO </a></li> <li class=""><a href="/category/FLASK" class="link_item"> FLASK </a></li> <li class=""><a href="/category/APACHE" class="link_item"> APACHE </a></li> <li class=""><a href="/category/GO" class="link_item"> GO </a></li> <li class=""><a href="/category/JAVA" class="link_item"> JAVA </a></li> <li class=""><a href="/category/FLUTTER" class="link_item"> FLUTTER </a></li> <li class=""><a href="/category/REACTIVE" class="link_item"> REACTIVE </a></li> <li class=""><a href="/category/SPA" class="link_item"> SPA </a></li> </ul> </li> </ul> </div> <!-- 태그목록 모듈 --> <div class="widget widget-tag col-md-3 col-xs-12"> <h3><i class="icon-tag icons"></i> 태그목록</h3> <ul> <li><a href="/tag/java" class="cloud2"> java</a></li> <li><a href="/tag/jQuery" class="cloud4"> jQuery</a></li> <li><a href="/tag/javascript" class="cloud4"> javascript</a></li> <li><a href="/tag/php" class="cloud4"> php</a></li> <li><a href="/tag/HADOOP" class="cloud3"> HADOOP</a></li> <li><a href="/tag/spring-mvc" class="cloud4"> spring-mvc</a></li> <li><a href="/tag/mysql" class="cloud4"> mysql</a></li> <li><a href="/tag/sql" class="cloud2"> sql</a></li> <li><a href="/tag/PYTHON" class="cloud3"> PYTHON</a></li> <li><a href="/tag/spring" class="cloud1"> spring</a></li> </ul> </div> <!-- 최근 포스트 모듈 --> <div class="widget widget-post col-md-3 col-xs-12"> <h3><i class="icon-list icons"></i> 최근에 올라온 글 </h3> <ul> </ul> </div> </div> </div> </div><!-- container close --> </aside><!-- sidebar close --> <footer role="contentinfo"> <div class="container"> <div class="row"> <div class="col-xs-12 col-sm-12 col-md-12 footer-menu"> <a href="https://cnpnote.tistory.com/tag"><i class="icon-tag icons"></i> </a> <a href="https://cnpnote.tistory.com/rss" onclick="window.open(this.href); return false"><i class="icon-feed icons"></i> </a> </div> <div class="col-xs-12 col-sm-12 col-md-12 footer-copyright text-right"> <a href="https://cnpnote.tistory.com/"> cnpnote</a>'s Blog is powered by <a href="http://daum.net" onclick="window.open(this.href); return false">Daumkakao</a> / Designed by <a href="http://ongal.tistory.com">CEOSEO</a> </div> </div> </div> </footer> <!-- jQuery --> <script src="https://tistory1.daumcdn.net/tistory/2840920/skin/images/jquery-1.11.0.min.js?_version_=1583344392"></script> <div class="#menubar menu_toolbar "> <h2 class="screen_out">티스토리툴바</h2> <div class="btn_tool"><button class="btn_menu_toolbar btn_subscription #subscribe" data-blog-id="2840920" data-url="https://cnpnote.tistory.com" data-device="web_pc"><strong class="txt_tool_id">복붙노트</strong><em class="txt_state">구독하기</em><span class="img_common_tistory ico_check_type1"></span></button></div></div> <div class="#menubar menu_toolbar "></div> <div class="layer_tooltip"> <div class="inner_layer_tooltip"> <p class="desc_g"></p> </div> </div> <iframe id="editEntry" style="position:absolute;width:1px;height:1px;left:-100px;top:-100px" src="//cnpnote.tistory.com/api"></iframe> <!-- DragSearchHandler - START --> <script src="//search1.daumcdn.net/search/statics/common/js/g/search_dragselection.min.js"></script> <!-- DragSearchHandler - END --> <script type="text/javascript">(function($) { $(document).ready(function() { lightbox.options.fadeDuration = 200; lightbox.options.resizeDuration = 200; lightbox.options.wrapAround = false; lightbox.options.albumLabel = "%1 / %2"; }) })(tjQuery);</script> <div style="margin:0; padding:0; border:none; background:none; float:none; clear:none; z-index:0"></div> <script type="text/javascript" src="https://tistory1.daumcdn.net/tistory_admin/userblog/tistory-717c7b1234a0a46519d1483dc3db06322985d92c/static/script/common.js"></script> <script type="text/javascript">window.roosevelt_params_queue = window.roosevelt_params_queue || [{channel_id: 'dk', channel_label: '{tistory}'}]</script> <script type="text/javascript" src="//t1.daumcdn.net/midas/rt/dk_bt/roosevelt_dk_bt.js" async="async"></script> <script type="text/javascript" src="https://tistory1.daumcdn.net/tistory_admin/userblog/tistory-717c7b1234a0a46519d1483dc3db06322985d92c/static/script/menubar.min.js"></script> <script>window.tiara = {"svcDomain":"user.tistory.com","section":"글뷰","trackPage":"글뷰_보기","page":"글뷰","key":"2840920-18922","customProps":{"userId":"0","blogId":"2840920","entryId":"18922","role":"guest","trackPage":"글뷰_보기","filterTarget":false},"entry":{"entryId":"18922","categoryName":"JQUERY","categoryId":"381321","author":"3264508","image":"","plink":"/entry/JQUERY-CORS-%EA%B2%8C%EC%8B%9C-%EC%9A%94%EC%B2%AD-%EA%B0%80%EA%B3%B5-%ED%81%AC%EB%A1%9C%EC%8A%A4-%EC%9B%90%EC%82%B0%EC%A7%80-%EC%9E%90%EC%9B%90-%EA%B3%B5%EC%9C%A0%EB%A5%BC-%EC%96%BB%EB%8A%94-%EB%B0%A9%EB%B2%95","tags":["ajax","CherryPy","CORS","jQuery"]},"kakaoAppKey":"3e6ddd834b023f24221217e370daed18","appUserId":"null"}</script> <script type="module" src="https://t1.daumcdn.net/tistory_admin/frontend/tiara/v1.0.0/index.js"></script> <script src="https://t1.daumcdn.net/tistory_admin/frontend/tiara/v1.0.0/polyfills-legacy.min.js" nomodule="true" defer="true"></script> <script src="https://t1.daumcdn.net/tistory_admin/frontend/tiara/v1.0.0/index-legacy.js" nomodule="true" defer="true"></script> </body> </html>