Come posso ottenere un FormPanel a POST JSON con ExtJS 3.1.0?
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?
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