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里的内容寻找正确的转换器.
如此前后端配合便可以实现数据的更新操作!