나는 이해하지 못하는 문제가 있습니다. 은 내가 크롬 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에 게시하면 매력처럼 작동합니다. 설명하고 도움을 줄 수 있습니까? 감사합니다. .
서버에서 cors 지원을 활성화 했습니까? –
먼저 응답을 매핑해야합니다 (두 번째는 응답해야합니다). – mast3rd3mon
메시지를 사용하는 경우 응답을 매핑 할 필요가 없습니다. 새로운 HttpClient. 응답이 없으므로 응답을 매핑 할 필요가 없습니다. D 또한 구성 요소에서 수행하고 비동기 파이프를 사용하면 호출을 반환 할 필요가 없습니다 (잘못된 동작이지만 동의합니다.). , 우리는 완벽 할 수 없다.) – trichetriche