programing

jQuery를 사용하여 AJAX HTTPS GET 요청을 만드는 방법

lastmoon 2023. 8. 25. 23:54
반응형

jQuery를 사용하여 AJAX HTTPS GET 요청을 만드는 방법

jQuery를 사용하여 AJAX HTTPS GET 요청을 명시적으로 만들려면 어떻게 해야 합니까?저는 다음과 같이 하려고 노력하고 있습니다.https 페이지에 코드가 있습니다.$.get("/resource")하지만 다음과 같은 오류가 발생합니다.

XMLHttpRequest cannot load http://www.site.com/resource. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'https://www.site.com' is therefore not allowed access.

상대 리소스가 https 페이지에 있는 경우 AJAX 호출이 HTTP 프로토콜을 사용하여 페이지에 액세스하려고 하는 이유는 무엇입니까?$.get(url) 메서드가 기본적으로 이 작업을 수행하는 경우 jQuery를 사용하여 명시적인 HTTPS GET 요청을 수행하려면 어떻게 해야 합니까?비슷한 문제가 있었던 http://forum.jquery.com/topic/jquery-get-ajax-call-on-http-page-to-https-on-same-domain 의 다른 사람도 문제를 해결할 수 없었습니다.

jQuery 버전은 1.7.2입니다.

문제를 해결했습니다.Django 사이트의 구성 방식 때문에 AJAX 요청에서 리소스에 후행 슬래시를 추가해야 했습니다.후행 슬래시가 없으면 장고는 HTTPS 요청 대신 HTTP 요청을 사용하여 후행 슬래시가 있는 URL로 리디렉션합니다.

간단히 말해서, 제가 대신했습니다.$.get("/resource")와 함께$.get("/resource/").

감사해요.당신의 모든 도움에 정말 감사드립니다.

현재 페이지가 https 페이지이고 .get이 액세스하려는 페이지가 http인 경우 동일한 오리진으로 인해 작동하지 않습니다.하지만, 당신은 .get :)로 짧게 건네는 대신에 아약스를 그냥 쓸 수 있습니다.

$.ajax({
    type: "GET", 
    url: "https://someurl"
});

공정해야 하지만, 그것은 여전히 진정한 자바스크립트의 부족입니다.

데이터 유형을 "jsonp"로 설정해 보십시오. 이는 과거에 교차 오리진 요청에 도움이 되었습니다.

    $.ajax({
            url: "//www.site.com/resource"
            dataType: "jsonp",
            success: function(data) {
                $(".demo-card").html(data);
            }
    });

지정된 프로토콜로 .htaccess 파일에서 RewriteRule을 사용하면 됩니다. 예:

RewriteCond %{REQUEST_URI} .+[^/]$
RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L,QSA]

언급URL : https://stackoverflow.com/questions/21056990/how-to-make-an-ajax-https-get-request-using-jquery

반응형