كيف يمكنني الحصول على formpanel لنشر JSON مع extjs 3.1.0؟
سؤال
بشكل افتراضي ، أ 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'
لا تنتمي إلى StackOverflow