http post
を作成していて、サブスクライブ内のローカル変数に値を割り当てようとしています。subscribe()内のローカル変数に値を割り当てました
ただし、ローカル変数のコード行は決して呼び出されません。どうして ?私のコードで何が間違っていますか?
これは、これは私のサービス
addLeave(body: leave): Observable<leave[]> {
let bodyString = JSON.stringify(body); // Stringify payload
let headers = new Headers({ 'Content-Type': 'application/json' }); // ... Set content type to JSON
let options = new RequestOptions({ headers: headers }); // Create a request option
return this.http.post(this._apiUrl, body, options)
.map(res => res.json())
.catch((error: any) => Observable.throw('Error'));
}
私のMVCコントローラ方式である私のコンポーネント
submitted = false;
onSubmit() {
this.leaveService.addLeave(this.model)
.subscribe(res => {
this.submitted = true; **// This line of code never execute. Why?**
});
}
です(ただ、往復の罰金であることを確認するために単純なものを追加しました)
[HttpPost("[action]")]
public IActionResult CreateLeaveRequest([FromBody] LeaveModel leave)
{
return StatusCode(200);
}
}
コンソールにエラーが表示されません。 問題を理解するためにさらに情報が必要な場合は教えてください。
注:
をonSubmit()間違いなく呼ばれます。シーケンスはサービスからaddLeaveを呼び出し、コントローラメソッド(デバッグポイントヒット)に要求を送信するOnSubmit()を呼び出します。
あなたの.MAP機能が何かを返す必要
onSubmit()はどのように呼び出されますか?ビューから?投稿してください。また、console.log(res)には何が表示されますか? – Vega
'console.log( 'testing');' onSubmitの後に関数が呼び出されているかどうかを調べます。 – joshrathke
フォームにngSubmit()が定義されていることと、 'type =" submit "に割り当てられたフォーム内のボタンがあることを確認してください。 – joshrathke