2017-12-21 39 views
0

나는 이해하지 못하는 문제가 있습니다. 은 내가 크롬 Developter 도구에 검사 할 때 다음 코드각도는 API에 데이터를 게시하지 않습니다

formSubmit() { 

    const req =this.http.post('http://[ip]/api/login', { 
    id: '7', 
     username: 'PostTest', 
     password: 'studp123lan', 
     matrikelnr: 'winf303666', 
     email: '[email protected]', 
     email_verified: '1' 
    }) 
     .subscribe(
     res => { 
      console.log(res); 
     }, 
    err => { 
     console.log("Error occured"); 
    } 

를 사용하여 양식에 내 API에 데이터를 게시하려고, 이것은 내가 무엇을 얻을 수 있습니다 :

Failed to load http://[ip]/api/login: Response for preflight has 
invalid HTTP status code 404 
register.component.ts:42 Error occured 

그리고 이것은 무엇이다 내가 네트워크 탭에서 얻을 :

일반 :

Request URL:http://[ip]/api/login 
Request Method:OPTIONS 
Status Code:404 Not Found 
Remote Address:[ip]:80 
Referrer Policy:no-referrer-when-downgrade 

응답 헤더 :

Access-Control-Allow-Headers:Content-Type 
Access-Control-Allow-Methods:GET, POST, PUT, DELETE, OPTIONS 
Access-Control-Allow-Origin:* 
Content-Length:0 
Date:Thu, 21 Dec 2017 09:00:35 GMT 
Server:Kestrel 
X-Powered-By:ASP.NET 

요청 헤더 :

Accept:*/* 
Accept-Encoding:gzip, deflate 
Accept-Language:de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7 
Access-Control-Request-Headers:content-type 
Access-Control-Request-Method:POST 
Connection:keep-alive 
Host:[ip] 
Origin:http://localhost:4200 
User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 
(KHTML, like Gecko) Chrome/63.0.3239.108 Safari/537.36 

어떻게 든이 작동하지 않습니다. 그러나 Postman Post Request를 통해 동일한 데이터를 동일한 URL에 게시하면 매력처럼 작동합니다. 설명하고 도움을 줄 수 있습니까? 감사합니다. .

+0

서버에서 cors 지원을 활성화 했습니까? –

+0

먼저 응답을 매핑해야합니다 (두 번째는 응답해야합니다). – mast3rd3mon

+0

메시지를 사용하는 경우 응답을 매핑 할 필요가 없습니다. 새로운 HttpClient. 응답이 없으므로 응답을 매핑 할 필요가 없습니다. D 또한 구성 요소에서 수행하고 비동기 파이프를 사용하면 호출을 반환 할 필요가 없습니다 (잘못된 동작이지만 동의합니다.). , 우리는 완벽 할 수 없다.) – trichetriche

답변

0

404 페이지에 오류가 없습니다. 즉,이 주소에서 엔드 포인트를 사용할 수 없습니다.

물론 우편 발송자가 전화를 걸면 작동하지만 : 직접 우편 발송자를 생성 했습니까? 아니면 요격기를 사용하여 만들었습니까? (요격기는 Chrome에서 만든 모든 전화를 우편 발송자에게 등록 할 수있는 Chomr 플러그인입니다.)

잊어 버린 것이 있어야합니다. 우체부 호출을 게시 할 수 있습니까? 가능한 경우 인터셉터를 사용해보십시오.

+0

IP 주소를 제공하면 도움이 될 것이다. 그러나 당신이 요청한 포트를 갖는 것이 도움이 될 것입니다 : 이것은 원격 주소에서 80을 말하지만, 요청에는 아무 것도 없습니다! – trichetriche

+0

전화가 어떻게 이루어 졌는지 알 수 있습니다. 전화 번호는 – mast3rd3mon

+0

과 다르게 나타납니다. – trichetriche