2016-09-25 14 views
0

我想將我的jQuery代碼轉換爲Angular2。 jQuery代碼運行良好,但Angular2代碼提供了與API不同的輸出。HTTP客戶端和POST參數在Angular2中

我已經檢查過參數&端點使用螢火蟲/控制檯&這些都是一樣的。有人可以提出一些建議來突出問題嗎?

jQuery代碼:

$.post(endpoint, { email_login: username, password_login: password }, function(data) { 
    console.log(data) 
}) 

角2碼:

let url = this.endpoint; 
    let body = JSON.stringify({email_login: username, password_login: password}); 
    let headers = new Headers({ 'Content-Type': 'application/json' }); 
    let options = new RequestOptions({ headers: headers }); 

    return this.http.post(url, body, options) 
    .toPromise() 
    .then(response => response.json() as any) 

回答

0
let url = this.endpoint; 
    let body = JSON.stringify({email_login: username, password_login:password}); 
    let headers = new Headers({ 'Content-Type': 'application/json' }); 
    let options = new RequestOptions({ headers: headers }); 

return this.http.post(url, body, options) 
     .toPromise() 
     .then(this.handleData) 
     .catch(this.handleError); 

您可以處理在handleData服務器成功響應和錯誤響應的HandleError

handleData(res: any) { 
    let body = res.json(); 
    console.log(body); 
    return body || { }; 
} 

handleError(error: any) { 
    let body = error.json(); 
    console.log(body); 
    return Promise.reject(error); 
} 
+0

這不是我要求的...我得到了不同的結果,因爲參數沒有正確發佈。 –