如何通过form.submit()将用户名/密码作为Raw JSON发布。
loginForm.submit({
url: 'localhost/login',
method: 'post',
jsonData: loginForm.getValues()
...
success: ...
即使Ext.JSON.encode(loginForm.getValues())
服务器正在接收用户名= test& password = test,我需要{"用户名":"测试","密码& #34;:"测试"}
答案 0 :(得分:1)
您应该尝试类似
的内容Ext.Ajax.request({
method: 'POST',
url: 'submit.php',
params : {
data: Ext.encode(loginForm.getValues())
},
success: function() {
},
failure: function() {
}
});
答案 1 :(得分:1)
与ExtJS的情况一样,这是一个简单的答案。在loginForm的配置中:
Ext.create('Ext.form.Panel', {
title: 'Simple Form',
// The form will submit an AJAX request to this URL when submitted
url: 'save-form.php',
.... (blah blah blah)
jsonSubmit: true // <---- set this to TRUE
});
设置属性 jsonSubmit: true
。
然后当你使用loginForm.submit()
时,你的对象将以JSON而不是形式参数提交。
这是指向表单文档的链接: http://docs.sencha.com/extjs/4.2.3/#!/api/Ext.form.Panel
答案 2 :(得分:0)
提交表单时,不会以JSON格式提交。 为了提交JSON字符串,必须使用Ext.Ajax.request。 http://www.sencha.com/forum/showthread.php?132082-jsonData-in-submit-action-of-form
我只需要改变
loginForm.submit({})
到
Ext.Ajax.request({})
并使用
params: Ext.JSON.encode(loginForm.getValues()),
Bad DOCS。