Frage

Standardmäßig wird ein FormPanel in ExtJS 3.1.0 Beiträge die Formularfelder als application/x-www-form-urlencoded, wenn Sie anrufen seine einreichen () Funktion.

Gibt es eine Möglichkeit, um es JSON anstatt zu schreiben?

War es hilfreich?

Lösung

Sie können getValues() verwenden, um die Werte zu ziehen und sie dann Ext.encode() und sowohl manuell als auch eine Ext.Ajax.request({}) mit diesen Daten zu tun.

Andere Tipps

Sie wollen wahrscheinlich Ext.form.Action.Submit erweitern die params als JSON statt URL-kodiert sie im Körper zu kodieren.

Sie können Ext.form.Action.Submit.run außer Kraft setzen.

Genau wie folgt aus:

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

Setzen Sie einfach in params

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

oder

App.formPanel.submit();

Vor dem Satz eines App.formPanel.url = '/Product/Save'

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top