سؤال

بشكل افتراضي ، أ FormPanel في extjs 3.1.0 ينشر حقول النموذج مثل application/x-www-form-urlencoded عند استدعاء وظيفة إرسال ().

هل هناك أي طريقة للحصول عليها لنشر JSON بدلاً من ذلك؟

هل كانت مفيدة؟

المحلول

يمكنك استخدام getValues() لسحب القيم ثم Ext.encode() لهم ويفعلون يدويًا Ext.Ajax.request({}) مع هذه البيانات كذلك.

نصائح أخرى

ربما تريد أن تمتد Ext.form.Action.Submit لتشفير المعلمات على أنها JSON بدلاً من ترميز عناوين URL في الجسم.

يمكنك تجاوز Ext.form.Action.Submit.run.

تماما مثل هذا:

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

فقط وضعت في المعلمات

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

أو

App.formPanel.submit();

قبل تعيين أ App.formPanel.url = '/Product/Save'

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top