로컬 PC에 앱을 개발 중입니다. 프론트 엔드는 spinej 및 backend-api로 node.js로 빌드해야합니다. 척추 포트 9294과 Node.js를 실행되고 난 다음 내 모델에 추가 한 척추에 포트 3000 에서 실행 :spine, node.js (express) 및 Access-Control-Allow-Origin
@url: "http:localhost:3000/posts"
내 특급 서버
app.get('/posts', function(req, res){
console.log("giving ALL the posts");
res.header("Access-Control-Allow-Origin", "*")
res.json(posts);
});
그러나 난 항상 크롬에서 다음 에로 받고 있어요 :
XMLHttpRequest cannot load http://localhost:3000/posts. Origin http://localhost:9294 is not allowed by Access-Control-Allow-Origin.
는 내가 제대로 내 API에 액세스 할 수 있는지 무엇을해야 하는가? 응답 헤더를 추가해도 문제가 해결됩니다.
당신이 헤더가 참으로 설정되고 있음을 확인하는 응답 헤더를 검사 적이 : 자원 참조 ? 또한 jQuery는 'OPTIONS'HTTP 명령을 사용하여 사전 인증을 감지합니다. 익스프레스가 해당 HTTP 동사에도 응답하는지 확인하십시오. – tkone
솔직히 내 요청이 내 node.js 서버에 도달하지 않는 것으로 보입니다. 클라이언트에 아무것도 보내기 전에 app.get()에 디버그 문을 추가했습니다. URL을 통해 직접 내 API에 액세스 할 때 문을 볼 수 있지만 척추를 통해 액세스 할 때 – soupdiver
당신은 챨스와 같은 것을 사용해야합니다. 우리는 여기서 x 톤의 도메인 물건을 처리하며 헤더가 설정되지 않는다는 것을 알기 전까지는 좌절감을 느낍니다. – tkone