angular与yii2配合完成数据的更新操作
angular4.3.3
在angualr中执行patch/put请求,更新数据时,需要传递待更新的数据,数据格式可采用json格式,发送请求时需配置请求头信息里的参数,将Content-Type设置为application/json,
如例,更新文章名称(name)的部分代码:
export class ArticleService {
private headers = new Headers({ 'Content-Type': 'application/json' });
private options = new RequestOptions({ headers: this.headers });
constructor(private http: Http) { }
updateFunction(id: number): Promise<Article> {
const url = `YourURL`;
return this.http.patch(url, '{"name":"文章的新名字"}', this.options)
.toPromise()
.then(response => response.json() as Article)
.catch(this.handleError);
}
private handleError(error: any): Promise<any> {
console.error('An error occurred', error); // for demo purposes only
return Promise.reject(error.message || error);
}
}
yii2
在yii2的配置文件(默认main.php)中,components -> request数组里加上以下的转换器:
'parsers' => [ 'application/json' => 'yii\web\JsonParser', 'text/json' => 'yii\web\JsonParser', ],
这样YII2才会根据content-type里的内容寻找正确的转换器.
如此前后端配合便可以实现数据的更新操作!


