如何使用 ExtJS 3.1.0 获取 FormPanel 来 POST JSON?

发布于 2024-08-20 09:32:28 字数 147 浏览 11 评论 0原文

默认情况下,当您调用 ExtJS 3.1.0 中的 FormPanel 函数时,它会将表单字段发布为 application/x-www-form-urlencoded

有什么办法让它改为发布 JSON 吗?

By default, a FormPanel in ExtJS 3.1.0 posts the form fields as application/x-www-form-urlencoded when you call its submit() function.

Is there any way to get it to post JSON instead?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

中性美 2024-08-27 09:32:28

您可以使用 getValues() 提取值,然后使用 Ext.encode() 它们并手动执行 Ext.Ajax.request({}) 也包含此数据。

You can use getValues() to pull the values and then Ext.encode() them and manually do an Ext.Ajax.request({}) with this data as well.

深海夜未眠 2024-08-27 09:32:28

您可能希望扩展 Ext.form.Action.Submit 来将参数编码为 JSON,而不是在正文中对它们进行 url 编码。

You probably want to extend Ext.form.Action.Submit to encode the params as JSON instead of url-encoding them in the body.

此刻的回忆 2024-08-27 09:32:28

您可以覆盖Ext.form.Action.Submit.run

就像这样:

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

You can override Ext.form.Action.Submit.run.

Just like this:

Ext.override(Ext.form.Action.Submit, {
    run: function() {
        // Your code here
    }
});
玩心态 2024-08-27 09:32:28

只需输入参数

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' 之前

Just put in params

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

or

App.formPanel.submit();

Before set a App.formPanel.url = '/Product/Save'

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文