[英]How to post extjs data from form to server?
我已经了解了如何从服务器到应用程序获取数据。 现在我面临着POST任务。 我有表单,并希望通过单击按钮将字段数据发布到服务器。
我试图用这个:
{//some controllercode
xtype: 'button'
text: 'save',
ui: 'confirm',
scope: this,
handler: function() {
Ext.Ajax.request({
url:'/api/renter/',
method: 'POST',
params: {
ReplaceAllRefs: true
}
})
}
}
Ext.Ajax的参数定义了将通过url发布到服务器的数据? 我可以将此类用于POST任务,还是不是最好的方法?
如果要发布表单数据,可以使用form.submit
方法代替Ext.ajax
..
var form = your_form_panel.getForm();
if(form.isValid()){ //isValid() will validate all your form fields
form.submit({
url : '/api/renter/',
params: params, //additional parameters can be send in object
success: function(form, o){
},
failure: function(form, o){
}
});
}
看看Ext.Ajax.request的ExtJs文档中的jsonData
选项。
jsonData:对象/字符串
用作发布的JSON数据。 注意:这将用于代替post数据的参数。
任何参数都将附加到URL。
所以您的Ajax请求应该看起来像
Ext.Ajax.request({
url:'/api/renter/',
method: 'POST',
jsonData: {
ReplaceAllRefs: true
}
});
当您想提交GET和POST数据时,可以使用params
和jsonData
。
Ext.Ajax.request({
url:'/api/renter/',
method: 'POST',
params: {
someGetParam: 'value'
},
jsonData: {
ReplaceAllRefs: true
}
});
最后,我使用了以下代码块:
{ text: 'save', ui: 'confirm', handler: function() { var dataup3 = this.up().items.items[0]; //get form's fields level var dataSet3 = dataup.getValues(); Ext.Ajax.request({ url:'/api/cutarea/', method: 'POST', params: dataSet3 }) } }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.