1、在app.module.ts引入HttpMoudle
import { BrowserModule } from '@angular/platform-browser';
import { HttpModule } from '@angular/http';
imports: [
BrowserModule,
HttpModule
],
2、在对应使用请求的组件的ts中引入
import { Http , ResponseOptions , Headers , URLSearchParams } from '@angular/http';
3、在构造函数中注入
constructor( private http: Http ) { }
4、使用get和post请求
4.1、带参数的post(一定要使用URLSearchParams进行封装)
getData() {
const d = new URLSearchParams();
d.append('para', 'value' );
d.append('para1', 'value' );
this.http.post('地址',d)
.map(res => res.json())
.subscribe(data => {
alert(JSON.stringify(data));
}, err => {
console.error('ERROR', err);
});
}
4.2、带参数的get请求
getData() {
const dates = {
'str': 123
};
this.http.get('地址' , {params: dates})
.map(res => res.json())
.subscribe(data => {
alert(JSON.stringify(data));
}, err => {
console.error('ERROR', err);
});
}
4.3、不带参数的get请求
getData() {
this.http.get('/hello')
.map(res => res.json())
.subscribe(data => {
alert(JSON.stringify(data));
}, err => {
console.error('ERROR', err);
});
}
5、后台接收
@RequestMapping("/hello")
@ResponseBody
public String hello(HttpServletRequest req) {
System.out.print(req.getParameter("str"));
Gson gson = new Gson();
String s1= gson.toJson(1);
return s1;
}