【发布时间】:2011-01-13 00:56:51
【问题描述】:
默认情况下,ExtJS 3.1.0 中的 FormPanel 在您调用其 submit() 函数时会将表单字段发布为 application/x-www-form-urlencoded。
有没有办法让它改为发布 JSON?
【问题讨论】:
标签: rest extjs form-post formpanel
默认情况下,ExtJS 3.1.0 中的 FormPanel 在您调用其 submit() 函数时会将表单字段发布为 application/x-www-form-urlencoded。
有没有办法让它改为发布 JSON?
【问题讨论】:
标签: rest extjs form-post formpanel
只需输入参数
var formData = App.formPanel.getValues(false);
Ext.net.DirectMethod.request({
url: '/Product/Save',
params: formData,
success: function(jsonResult){
}
});
或
App.formPanel.submit();
在设置App.formPanel.url = '/Product/Save'之前
【讨论】:
您可以覆盖Ext.form.Action.Submit.run。
就像这样:
Ext.override(Ext.form.Action.Submit, {
run: function() {
// Your code here
}
});
【讨论】:
您可以使用getValues() 提取值,然后使用Ext.encode() 提取它们,并手动对这些数据执行Ext.Ajax.request({})。
【讨论】:
您可能希望扩展 Ext.form.Action.Submit 以将参数编码为 JSON,而不是在正文中对它们进行 url 编码。
【讨论】: