我在製作http post
,然後試着給subscribe裏面的局部變量賦值。給subscribe裏面的局部變量賦值()
但是,該局部變量代碼行從未被調用。爲什麼?我的代碼有什麼問題?
這是我的組件
submitted = false;
onSubmit() {
this.leaveService.addLeave(this.model)
.subscribe(res => {
this.submitted = true; **// This line of code never execute. Why?**
});
}
這是我的服務
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控制器方法(只需添加簡單的一個,以確保往返被罰款)
[HttpPost("[action]")]
public IActionResult CreateLeaveRequest([FromBody] LeaveModel leave)
{
return StatusCode(200);
}
}
我在控制檯中看不到任何錯誤。 讓我知道你是否需要更多的信息來理解問題。
注:
的onsubmit()絕對稱得上。順序是調用OnSubmit(),它調用服務的addLeave,將請求發送到控制器方法(調試點命中)。
如何調用onSubmit()?從看法?請發佈。還有什麼console.log(res)顯示? – Vega
扔'console.log('testing');'在onSubmit之後查看函數是否被調用。 – joshrathke
確保你在表單上定義了一個ngSubmit(),並在表單中指定了一個按鈕「type =」submit「'。 – joshrathke