Question

Par défaut, un FormPanel dans ExtJS 3.1.0 postes de travail les champs de formulaire comme application/x-www-form-urlencoded lorsque vous appelez la fonction submit ().

Est-il possible de le faire publier à la place JSON?

Était-ce utile?

La solution

Vous pouvez utiliser getValues() pour tirer les valeurs et les Ext.encode() et faire manuellement une Ext.Ajax.request({}) avec ces données ainsi.

Autres conseils

Vous voulez probablement étendre Ext.form.Action.Submit pour coder les params comme JSON au lieu d'URL codant pour eux dans le corps.

Vous pouvez remplacer Ext.form.Action.Submit.run.

Tout comme ceci:

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

Il suffit de mettre dans params

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

ou

App.formPanel.submit();

Avant de définir un App.formPanel.url = '/Product/Save'

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top