รับค่า post ใน angular
Created At :
Views 👀 :
ในการรับค่า post ใน Angular เราสามารถใช้บริการ HttpClient
ของ Angular ได้
HttpClient
เป็นคลาสที่ช่วยให้เราสามารถส่งและรับ HTTP requests ได้ โดยเราสามารถใช้ post()
method ของ HttpClient
เพื่อส่ง HTTP POST request ได้
ตัวอย่างการรับค่า post ใน Angular
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| import { Component, OnInit } from '@angular/core'; import { HttpClient } from '@angular/common/http';
@Component({ selector: 'my-app', templateUrl: './app.component.html', styleUrls: ['./app.component.css'] }) export class AppComponent implements OnInit {
title = 'Angular Post Request'; name = '';
constructor(private http: HttpClient) {}
ngOnInit() { this.http.post('/api/post', { name: 'Bard' }) .subscribe( response => { this.name = response.data.name; }, error => { console.log(error); } ); }
}
|
โค้ด HTML
1 2
| <h1>{{ title }}</h1> <p>Your name: {{ name }}</p>
|
Output
เมื่อเราเรียกใช้แอปพลิเคชัน Angular ครั้งแรก จะมีข้อความ “Angular Post Request” ปรากฏขึ้น
เมื่อเราคลิกลิงก์ “Send POST Request” แอปพลิเคชันจะส่ง HTTP POST request ไปยัง URL /api/post
พร้อมข้อมูลชื่อ “Bard”
เมื่อได้รับ response จากเซิร์ฟเวอร์ แอปพลิเคชันจะแสดงชื่อ “Bard” ใน HTML
วิธีอื่นในการรับค่า post ใน Angular
นอกจากการใช้ HttpClient
แล้ว เรายังสามารถใช้ FormData
object เพื่อส่งค่า post ได้
FormData
object เป็น object ที่ช่วยให้เราสามารถเก็บข้อมูลในรูปแบบของ key-value pair ได้
ตัวอย่างการรับค่า post ใน Angular โดยใช้ FormData object
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| import { Component, OnInit } from '@angular/core'; import { HttpClient } from '@angular/common/http';
@Component({ selector: 'my-app', templateUrl: './app.component.html', styleUrls: ['./app.component.css'] }) export class AppComponent implements OnInit {
title = 'Angular Post Request'; name = '';
constructor(private http: HttpClient) {}
ngOnInit() { const formData = new FormData(); formData.append('name', 'Bard');
this.http.post('/api/post', formData) .subscribe( response => { this.name = response.data.name; }, error => { console.log(error); } ); }
}
|
โค้ด HTML
1 2
| <h1>{{ title }}</h1> <p>Your name: {{ name }}</p>
|
Output
ผลลัพธ์จะเหมือนกับตัวอย่างก่อนหน้านี้