최근에 내 사이트가 HTTPS를 사용하도록 전환했습니다. 나는 Laravel을 PHP 프레임 워크로 사용하고있다. 처음에는 "Origin-null이 Access-Control-Allow-Origin으로 허용되지 않습니다."라는 문제가 발생했습니다. 내가 리디렉션에 무엇입니까 대신 십자가 원산지 오류로 이제HTTPS 아약스 요청
$.ajax({
type: 'GET',
url: '/media/search/',
data: { 'q':search_string },
success: function(d) { }
});
:
App::before(function($request)
{
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods: GET, POST, OPTIONS");
});
(가) 아약스 요청입니다 : 오류,하지만 난 내 filters.php이를 사용하여 해당 고정했다 로드해야하는 콘텐츠 대신 내 로그인 페이지. 저는 Laravel이 가지고있는 CSRF 토큰 구현과 관련이 있다고 생각합니다. 그러나 요청에 토큰을 추가하거나 해결할 수있는 방법을 모르겠습니다. 누구든지 어떤 제안이 있습니까?
편집 :
: 내가 대신 전화를 사용하여 진행 한이 후XMLHttpRequest cannot load http://website.com/media/search?&q=500 . No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin ' https://website.com ' is therefore not allowed access.
: 내 filter.php에서 그 헤더 기능이없는 경우
나는이 오류
하지만
$.ajax({
type: 'GET',
url: 'https://website.com/media/search/',
data: { 'q':search_string },
success: function(d) { }
});
여전히 당신이 난에서 AJAX를 제거 할 수 CRSF 관련이 있다면 행운
작동하지 않을 수 있습니다 HTTP에서 AJAX 요청을하는 경우
. 'Access-Control-Allow-Origin'은 필요하지 않습니다. – mithunsatheesh
내 편집을 참조하십시오. 아약스 호출에서 https를 강제 실행하는 방법을 알 수 없습니다. 내 전화에 https : // website/search/'를 넣지 만 여전히 http로 전화를 걸 것입니다. –
http <-> https는 교차 도메인으로 간주됩니다. ajax 호출에 대해 동일한 프로토콜을 사용하십시오. –