Wie kann ich eine Formpanel existieren zu POST JSON mit ExtJS 3.1.0 bekommen?
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?
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