2016-08-02 4 views
0

VUE-자원 :VUE-자원 : 액세스 제어 - 허용 - 원산지 오류

XMLHttpRequest cannot load http://finance.app/jwt/access_token. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. 
:

내 API를 제대로 CORS의 laravel로 구성되어
Vue.http.post(API_URL + '/jwt/access_token', credentials, { 
      headers: { 
       'Access-Control-Allow-Origin': true 
      } 
     }).then(response => { 
      console.log(response.data) 
     }, err => reject(err)) 

..

내가 그 오류

요청 헤더 :

OPTIONS /jwt/access_token HTTP/1.1 
Host: finance.app 
Connection: keep-alive 
Access-Control-Request-Method: POST 
Origin: http://localhost:8080 
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36 
Access-Control-Request-Headers: access-control-allow-origin, content-type 
Accept: */* 
Referer: http://localhost:8080/ 
Accept-Encoding: gzip, deflate, sdch 
Accept-Language: pt-BR,pt;q=0.8,en-US;q=0.6,en;q=0.4 

내가 잘못 가고있어? :(

감사

+1

그럼, 응답 헤더에 대해? – gurghet

+0

문제가 해결되었습니다. vue-resource에는 설정이 없지만 laravel의 작은 미들웨어 구성 오류가 있습니다. 감사합니다. . – Giovanne

답변

2

난 당신이 (당신이 PHP를 사용하는 경우)이 같은 서버 측에서 헤더를 설정해야한다고 생각!

header('Access-Control-Allow-Origin: *'); 
header('Access-Control-Allow-Methods: POST, GET, OPTIONS'); 
header('Access-Control-Allow-Headers: X-HTTP-Method-Override, Content-Type, x-requested-with, Authorization'); 

키가 라인 2, 수단 POST에 액세스 할 수 있습니다/GET/옵션이 요청하는

PS 영어가 아닌 어머니의 언어가

0

나를 위해 일한 솔루션 PHP에이 헤더를 추가하는 것입니다 도움이 될 희망 :.

header('Access-Control-Allow-Origin: *'); 
header('Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept'); 
header('Access-Control-Allow-Methods: GET, POST, PUT'); 

그리고 뷰에 옵션 다음에, PHP에 게시 데이터를 전달하기 :

Vue.http.options.emulateJSON = true 
관련 문제