Domanda

Per impostazione predefinita, un FormPanel in ExtJS 3.1.0 messaggi i campi del modulo come application/x-www-form-urlencoded quando si chiama il suo presentare () la funzione.

C'è un modo per farlo per inviare JSON, invece?

È stato utile?

Soluzione

È possibile utilizzare getValues() per tirare i valori e poi li Ext.encode() e manualmente fare un Ext.Ajax.request({}) con questi dati pure.

Altri suggerimenti

Probabilmente si desidera estendere Ext.form.Action.Submit per codificare i params come JSON invece di URL-codifica loro nel corpo.

È possibile ignorare Ext.form.Action.Submit.run.

Proprio come questo:

Ext.override(Ext.form.Action.Submit, {
    run: function() {
        // Your code here
    }
});

Basta mettere in params

var formData = App.formPanel.getValues(false);
Ext.net.DirectMethod.request({ 
     url: '/Product/Save',
     params: formData,
     success: function(jsonResult){
     }
});

o

App.formPanel.submit();

Prima di set un App.formPanel.url = '/Product/Save'

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top