我使用角度4的默认Http
模块发送http请求没有任何问题。但是,我最近使用Http
包中的AuthHttp
替换了angular2-jwt
模块。现在使用AuthHttp
,它停止在post请求中将body作为有效负载发送到服务器。这是代码:
return this.authHttp.post(url, JSON.stringify(body)).map((res: Response) => {
// ...
});
上面的代码不会将正文作为有效负载发送到服务器。当authHttp被http替换时,它会按预期发送有效负载。
我不确定自己是否做错了,因为似乎谷歌的搜索结果很少。
更新
使用AuthHttp
,Chrome开发者工具仅显示已发送OPTIONS
个请求。这真的很奇怪。
似乎AuthHttp正在向服务器发送一些奇怪的OPTIONS请求。 Chrome显示以下错误:
Response for preflight has invalid HTTP status code 400
答案 0 :(得分:0)
通过在服务器上添加以下代码解决了问题:
if r.Method == "OPTIONS" {
return
}