2017-12-12 3 views
0

에 CORS 오류에 직면하지만 아래 CORS 오류가 :내가 지역 내 다른 도메인으로 <code>XMLHttpRequest</code>로 POST 요청을 보낸다 로컬 서버

http://another.local/를로드하지 못했습니다

: '액세스-조절 - Allow-Origin '헤더에 여러 값'*, http://example.local '이 있지만 하나만 허용됩니다. 따라서 원점 'http://example.local'은 액세스 할 수 없습니다.

나는 다음과 같이 PHP에서 헤더를 설정했다 : 헤더, 나는 여전히 CORS 오류를 받고 있어요 설정에도 불구하고

<?php 
header("Access-Control-Allow-Origin: *",false); //header("Access-Control-Allow-Origin: *"); 
header('Access-Control-Allow-Methods: POST, GET'); 
header("Access-Control-Allow-Credentials: true"); 
header('Access-Control-Max-Age: 1000'); 
header("Content-type:application/json"); 
readfile('data.json'); 

; 내가 뭘 잘못하고 어떻게 해결할 수 있니?

+0

스 니펫 코드가 끝난 후 새로운 cors 오류가 무엇입니까? – madalinivascu

+1

'header ('Access-Control-Allow-Origin : *');' – Thamaraiselvam

+0

'fetch' API를 사용하는 것이 더 쉬울 수도 있습니다 - CORS https://developer.mozilla.org/en에 대한 적절한 지원이 있습니다 -US/docs/Web/API/Fetch_API. 아약스 코드가 질문에 추가 된 경우 도움이 될 수 있습니다. – RamRaider

답변

0

마지막으로이 문제를 해결합니다.
나는 PHP 개발을위한 Laragon을 사용하고 난 기본적으로 그들이 설정 파일이 설정하는 것이 그 Laragon 구성 또는 아파치를 모르는 :

Header always set Access-Control-Allow-Origin "*" 

를이 내가 PHP 설정 헤더와 충돌합니다. 나는 그것을 주석 처리하고 문제없이 헤더를 설정할 수있다.

@ Thamaraiselvam 덕분에 & @ rahul-mukherjee 나를 도와주었습니다.

0

헤더 ('Access-Control-Allow-Origin : http://example.local', false)로 시도 할 수 있습니다. 당신은 header('Access-Control-Allow-Origin: *');

설정을 시도 할 수 있습니다

+0

감사하지만 오류가 있거나없는 경우에도 같은 오류가 발생합니다. –

+0

모든 헤더를 사용하고 있습니까 아니면 액세스 제어 만 사용하고 있습니까? 필요한 모든 헤더를 사용하고보세요 ... 감사합니다! –

0

을 그리고 : 귀하의 요구 사항에 따라 값을 변경하십시오 :

header("Access-Control-Allow-Credentials: true"); 
header('Access-Control-Allow-Methods: GET, PUT, POST, DELETE, OPTIONS'); 
header('Access-Control-Max-Age: 1000'); 
header("Access-Control-Allow-Headers: ACCEPT, CONTENT-TYPE, X-CSRF-TOKEN"); 

참고 : 당신은 HTTP 메소드를 설정하지 않은 경우

당신은 사용할 수 있습니다 동일한 헤더가 두 번 있는지 확인하십시오.

+0

차이가 없습니다. "http : //another.local/"로드 실패 : 'Access-Control-Allow-Origin'헤더에 '*, *'값이 여러 개 있지만 하나만 허용됩니다. 따라서 Origin "http : //example.local '"은 액세스가 허용되지 않습니다. –

+0

동일한 머리글을 두 번 추가했는지 확인하십시오.'header ('Access-Control-Allow-Origin)' – Thamaraiselvam

+0

자신의 도메인 대신 ** 모든 ** 원점을 허용해야하는 이유는 무엇입니까? O.o – Andreas

관련 문제