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?

Foi útil?

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
scroll top