2016-08-09 2 views
2

이 오류를 보여주는 각도 2의 게시물 요청입니다.각도 2로 게시물을 보낼 때 오류가 발생했습니다.

do_login(username: string,password: string): Observable<string> { 
    let body = JSON.stringify({"username":username,"password":password}); 
    let headers = new Headers({ 'Content-Type': 'application/json' }); 
    let options = new RequestOptions({ headers: headers }); 

    return this.http.post(this.loginUrl, body, options) 
      .map((response) => { 
      return response.json(); 
      } 
    ); 
} 

정상적으로 작동하도록 요청하십시오. 내 코드에서 누락 무엇

enter image description here

REST 클라이언트에서 호출 할 때와 POST URL이 제대로 작동합니다. 도움을 주셔서 감사합니다.

답변

1

CORS 때문입니다. 서버 측에서 미리 채워진 요청은 처리하지 않습니다. 이것은 405 상태 코드의 말씀입니다 :

405 방법이 을 허용하지 요청 방법 요청 된 리소스에 대해 지원되지 않습니다; 예를 들어, POST를 통해 데이터를 제시해야하는 양식의 GET 요청 또는 읽기 전용 자원의 PUT 요청.

간단한 요청의 경우이기 때문에 GET 방식으로 작동합니다. 일반적으로 프론트 엔드/앵귤러 2가 아닌 서버 측 문제입니다.

이 기사는 당신이 무슨 이해하는 데 도움이 될 수 :

1

CORS가 포함되면, POST 요청을보다 앞에 OPTIONS 요청이있다.

서버가 OPTIONS 요청에 유효한 응답을 제공하지 않아 위에서 나열한 오류가 발생합니다. 서버의 CORS 구성을 조사해야합니다. 위의 코드에는 문제가있는 곳이 있습니다.

GET이 정상적으로 작동하는 경우 Access-Control-Allow-Methods 구성

을 확인해야합니다.
관련 문제