默认情况下,ExtJS 3.1.0 中的 a在您调用它的 submit() 函数时FormPanel
发布表单字段。application/x-www-form-urlencoded
有没有办法让它发布 JSON 呢?
您可以使用getValues()
先提取值,然后再提取Ext.encode()
它们并手动Ext.Ajax.request({})
处理这些数据。
您可能希望扩展Ext.form.Action.Submit
以将参数编码为 JSON,而不是在正文中对它们进行 url 编码。
您可以覆盖Ext.form.Action.Submit.run
.
像这样:
Ext.override(Ext.form.Action.Submit, {
run: function() {
// Your code here
}
});
只需输入参数
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'