Como posso fazer com que um FormPanel publique o JSON com o ExtJS 3.1.0?
Pergunta
Por padrão, um FormPanel
No extjs 3.1.0 publica os campos de formulário como application/x-www-form-urlencoded
Quando você chama a função submit ().
Existe alguma maneira de fazê -lo postar JSON?
Solução
Você pode usar getValues()
para puxar os valores e depois Ext.encode()
eles e fazem manualmente um Ext.Ajax.request({})
com esses dados também.
Outras dicas
Você provavelmente quer se estender Ext.form.Action.Submit
codificar os parâmetros como JSON em vez de codificar o URL no corpo.
Você pode substituir Ext.form.Action.Submit.run
.
Bem assim:
Ext.override(Ext.form.Action.Submit, {
run: function() {
// Your code here
}
});
Basta colocar em params
var formData = App.formPanel.getValues(false);
Ext.net.DirectMethod.request({
url: '/Product/Save',
params: formData,
success: function(jsonResult){
}
});
ou
App.formPanel.submit();
Antes do set a App.formPanel.url = '/Product/Save'
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow