在Angular 2中我如何根據表單模型向服務器發送數據。在某些情況下,我可以通過單擊addMore按鈕添加更多行。如何通過角度發送數據到服務器2
回答
使用HTTP類,在其最基本的形式,可以利用這樣的:
export class EndPointService {
constructor(private _http: Http) {
}
public postData(url: string, data: any): Response {
return this._http.post(url, data).map((res: Response) => {
return res.json();
}
}
}
首先,你需要導入HttpModule
,如果你要送json_encoded數據,您還需要導入JsonpModule
。您可以從@angular/http
導入這兩個模塊,並將其添加到您的app.module.ts
文件作爲@NgModule
app.module.ts內進口:
import { HttpModule, JsonpModule } from '@angular/http';
@NgModule({
imports: [
...,
HttpModule,
JsonpModule
],
bootstrap: [AppComponent]
})
接下來的步驟是讓一個服務,將處理Http請求。您需要從rxjs
包中導入Observable
對象和map
方法來處理響應。此外,如果要使用POST HTTP請求發佈數據(所有對象都在@angular/http
中),則需要導入Http,Response,Headers和RequestOptions對象。在服務中,您設置了可從組件訪問並使用它的功能將數據發送到服務器,並趕上,你可以訂閱響應
http.service.ts:
import 'rxjs/add/operator/map';
import { Observable } from 'rxjs/Observable';
import { Http, Response, Headers, RequestOptions } from '@angular/http';
@Injectable()
export class HttpService {
private _url: string = "http://example.com"; // Url which handles JSON encoded data
constructor(private _http: Http) {} // Injecting the Http Service
sendData(data): Observable<Object> {
let encoded_data = JSON.stringify({ data });
let headers = new Headers({ 'Content-Type': 'application/json;charset=utf-8' });
let options = new RequestOptions({ headers: headers });
return this._http.post(encoded_data, this._url, options).map(
(res: Response) => res.json() || {}
);
}
在組件需要導入的服務和使用您的方法剛剛創建,您也可以訂閱此方法以獲得響應。
個example.component.ts:
import { Component, OnInit } from '@angular/core';
import { HttpService } from 'http.service';
@Component({
...
})
export class ExampleComponent implements OnInit {
constructor(private _httpService: HttpService) {}
ngOnInit() {}
sendDataToServer(dataFromForm) {
this._httpService.sendData(dataFromForm).subscribe(
response => console.log(response), // success
error => console.log(error), // error
() => console.log('completed') // complete
}
}
更多信息可以在這裏HTTP Client
如何作爲數組發送[如:如果我有20多個或更多的數據]。 – Ripon
那麼..你可以在你的窗體標籤上使用事件觸發器'(submit)=「sendDataToServer(yourForm.value)」''然後它被串接併發送到服務器。但是,服務器需要能夠處理字符串化的數據......否則它不會工作 –
@Ripon實際上,現在當我閱讀這篇文章時,你可以用json_encode將你的數組串起來,然後在服務器上你只需要json_parse並將它用作數組,就像那樣簡單 –
- 1. 角2發送數據到服務
- 2. .subscribe在角2通過服務從發佈到服務器的組件數據
- 3. 如何通過Ajax將數據發送到服務器?
- 4. 如何通過jquery發送數據到服務器端(asp.net)
- 5. 如何通過HttpsURLConnection發送數據到https服務器
- 6. 如何發送數據到服務器通過xml使用php
- 7. 如何通過文件上傳到服務器發送數據
- 8. 通過JavaScript發送JSON數據到服務器通過JavaScript
- 9. 發送密碼到角度爲2的服務器
- 10. 如何發送節點js服務器端數據到角js
- 11. 如何通過api在android中向服務器發送數據?
- 12. 如何通過AJAX POST將「數據」發送到ASMX Web服務?
- 13. 如何通過curl發送數據到mvc4 web服務
- 14. 通過客戶端從服務器發送到服務器的敏感數據
- 15. 從部件將數據發送到服務文件在角2
- 16. 通過PHP發送HTML表單數據到網絡服務器
- 17. 通過HTTP GET將數據發送到PHP服務器
- 18. 通過GET發送數據到服務器
- 19. ExtJS通過UDP發送數據到服務器
- 20. 通過GPRS發送GPS數據到服務器
- 21. 通過http post發送數據從客戶端到服務器
- 22. 通過角度發送POST請求發送音頻數據JS
- 23. 角2:通過服務來
- 24. 如何通過角度2中的指令標記發送值
- 25. 如何通過服務發送通知
- 26. 通過Web服務發送數據到數據庫在ASP.net MVC
- 27. 如何通過ajax post方法將jqgrid數據發送到服務器?
- 28. 如何使用android通過Http post方法發送數據到服務器?
- 29. 如何通過http將數據從服務器發送到客戶端?
- 30. Android如何通過Json發送數據字符串到服務器?
如何發送一個數組發現[愛:如果我有20個多列。 – Ripon
陣列在通過電線發送之前將被串化。 'any'處理任何類型 - 儘管它不是類型安全的。 https://angular.io/docs/ts/latest/guide/server-communication.html 注意我省略了選項,但它們可能是必需的 - CORS和 – KnowHoper