【发布时间】:2016-05-22 08:10:40
【问题描述】:
如何为我的 POST 表单提交定义额外的 url 参数?
这是我加载表单的方式:
form.load({
url:APIURI+'GetComment',
method:'GET',
params:params,
});
结果:params对象被序列化为GET参数;表单内容以 JSON 格式返回。
这就是我提交表单的方式:
form.submit({
url:APIURI+'SetComment',
method:'POST',
params:params,
callback:function() {
me.close();
}
});
预期结果:表单数据应以 JSON POSTDATA 形式发送,params 应以 GET 参数形式发送。
实际结果:表单数据变成了对象;然后将参数应用于该对象 - 其中一些覆盖了同名的表单字段。
我也尝试过:我尝试将参数作为urlParams、baseParams 和extraParams 放入选项对象中,但这些都不起作用。
【问题讨论】:
-
也许可以尝试使用
Ext.Ajax.request()。类似于this 问题。 -
@BojanDević 好吧,这对提交表单没有帮助。然后我必须手动收集表单数据表单提交,手动验证它等等......
-
但这只是
form.isValid()和form.getValues()。 -
您可以序列化参数并将字符串附加到 url,例如:
Ext.Object.toQueryString(params) -
@tonymayoral 挖掘
form.submit()代码,我发现无法将参数注入 url。所以我想你提出的方法是唯一可行的方法。请让它成为我接受的答案。