¿Cómo puedo obtener una FormPanel a POST JSON con ExtJS 3.1.0?
Pregunta
Por defecto, un FormPanel
en ExtJS 3.1.0 Mensajes de los campos de formulario como application/x-www-form-urlencoded
cuando se llama a su submit () función.
¿Hay alguna manera de conseguirlo para enviar JSON en lugar?
Solución
Se puede utilizar getValues()
para tirar de los valores y luego Ext.encode()
ellos y hacer manualmente una Ext.Ajax.request({})
con estos datos también.
Otros consejos
Es posible que desee extender Ext.form.Action.Submit
para codificar los parametros como JSON en lugar de codificación URL en el cuerpo.
Puede anular Ext.form.Action.Submit.run
.
Al igual que este:
Ext.override(Ext.form.Action.Submit, {
run: function() {
// Your code here
}
});
Sólo hay que poner en params
var formData = App.formPanel.getValues(false);
Ext.net.DirectMethod.request({
url: '/Product/Save',
params: formData,
success: function(jsonResult){
}
});
o
App.formPanel.submit();
Antes de una serie App.formPanel.url = '/Product/Save'
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow