私は理解していない問題があります。 私はクローム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サポートを有効にしました –
最初に応答をマップしないでください(おそらくそうでしょう).2回目に返信しません。 – mast3rd3mon
応答をマップする必要はありません。新しいHttpClient。彼は応答がないので、応答をマップする必要はありません:Dまた、コンポーネント内でそれを行い、非同期パイプを使用すると、呼び出しを返す必要もありません(悪い習慣ですが、 、私たちは完璧ではありません) – trichetriche