Sencha/Extjs 带所有参数的 rest 调用
Sencha/Extjs rest call with all parameters
我使用的是 ExtJs 5.1.1,我编写了一个带有网格的简单视图,并选择一行对应的模型 属性 在某些文本字段中是可编辑的。
编辑完成后,按钮 'save' 调用 Model.save() 方法,该方法使用配置的其余代理将更改写入服务器。
代理进行的调用有两个,第一个是 OPTIONS 调用以了解允许使用哪种方法,第二个调用是 PUT。
我的问题是 PUT json 只包含更改的属性。
我希望我的应用程序发送 PUT 中的所有属性,而不是仅发送更改的子集。
这是代理配置,还是我应该使用另一种代理,例如 ajax?
一些代码片段:
型号:
Ext.define('myApp.model.CvModel', {
extend: 'Ext.data.Model',
alias: 'viewmodel.cv',
idProperty : 'code',
proxy: {
type: 'rest',
url: 'http://localhost:8080/CV/resource/rest/cvs/CodeSystem/Domain',
paramsAsJson: true,
reader: {
type: 'json',
rootProperty: 'Test_data'
}
},
fields: [{
...
控制器:
onSave: function () {
var selCv = this.getViewModel().get('selectedCv');
selCv.save();
....
您需要使用 writeAllFields: true
在代理上指定编写器配置。默认情况下它是 false
,默认编写器本身就是 {type: 'json'}
.
我使用的是 ExtJs 5.1.1,我编写了一个带有网格的简单视图,并选择一行对应的模型 属性 在某些文本字段中是可编辑的。 编辑完成后,按钮 'save' 调用 Model.save() 方法,该方法使用配置的其余代理将更改写入服务器。
代理进行的调用有两个,第一个是 OPTIONS 调用以了解允许使用哪种方法,第二个调用是 PUT。 我的问题是 PUT json 只包含更改的属性。 我希望我的应用程序发送 PUT 中的所有属性,而不是仅发送更改的子集。
这是代理配置,还是我应该使用另一种代理,例如 ajax?
一些代码片段:
型号:
Ext.define('myApp.model.CvModel', {
extend: 'Ext.data.Model',
alias: 'viewmodel.cv',
idProperty : 'code',
proxy: {
type: 'rest',
url: 'http://localhost:8080/CV/resource/rest/cvs/CodeSystem/Domain',
paramsAsJson: true,
reader: {
type: 'json',
rootProperty: 'Test_data'
}
},
fields: [{
...
控制器:
onSave: function () {
var selCv = this.getViewModel().get('selectedCv');
selCv.save();
....
您需要使用 writeAllFields: true
在代理上指定编写器配置。默认情况下它是 false
,默认编写器本身就是 {type: 'json'}
.