调整通过extjs形式发送的json格式 [英] adjusting json format send by extjs form
问题描述
我有一个问题。
我需要发送一个json格式到我的后台服务。它需要我没有设法创建的东西。我发送表单是这样的:
{
jobs:{
name :dsvs,
jobType:CUSTOM,
description:sdvsdv,
tasks:14,15,16
}
}
但是我需要发送的是
{
job:{
name:dsvs,
jobType:CUSTOM,
description:sdvsdv,
tasks:[14,15,16]
}
}
我该怎么办?
这是我的表单处理程序:
handler:function() {
var form = this.up('form')。getForm();
var formData = Ext.encode(form.getValues());
Ext.Ajax.request({
url:ND.url +'dna / rjs / secure / service / rest / jobs.json',
method:'POST' ,
waitTitle:'Connecting',
waitMsg:'发送数据...',
jsonData:{
jobs:form.getValues()
}
});
})
我希望有人有一个想法!
你不能以诚实的方式。
但是,您可以将其删除。
处理程序:function(){
var form = this。向上( '形式')getForm();
var formData = Ext.encode(form.getValues());
formData.jobs.tasks = formData.jobs.tasks.split(',');
Ext.Ajax.request({
url:ND.url +'dna / rjs / secure / service / rest / jobs.json',
method:'POST' ,
waitTitle:'Connecting',
waitMsg:'发送数据...',
jsonData:{
jobs:formData
}
}) ;
})
您不使用您的 formData
在你的例子中,尽管如此,BTW。
这将导致:
{
jobs:{
name:dsvs,
jobType:CUSTOM,
description :sdvsdv,
tasks:[14,15,16]
}
}
如果仍然不合适,可以通过在每个任务值上调用 parseInt
来进一步破解它。 / p>
编辑:
添加澄清。
I have a question.
I need to send a json format to my backend service. It requires something i haven't managed to create. What i am sending with a form is this:
{
"jobs": {
"name": "dsvs",
"jobType": "CUSTOM",
"description": "sdvsdv",
"tasks": "14,15,16"
}
}
but what i need to send is
{
"jobs": {
"name": "dsvs",
"jobType": "CUSTOM",
"description": "sdvsdv",
"tasks": [14,15,16]
}
}
how can i do this?
This is my form handler:
handler: function () {
var form = this.up('form').getForm();
var formData = Ext.encode(form.getValues());
Ext.Ajax.request({
url: ND.url + 'dna/rjs/secure/service/rest/jobs.json',
method: 'POST',
waitTitle: 'Connecting',
waitMsg: 'Sending data...',
jsonData: {
jobs: form.getValues()
}
});
})
I hope anyone has an idea!
You can't by "honest" ways.
You can, however, hack it into that one.
handler: function () {
var form = this.up('form').getForm();
var formData = Ext.encode(form.getValues());
formData.jobs.tasks = formData.jobs.tasks.split(',');
Ext.Ajax.request({
url: ND.url + 'dna/rjs/secure/service/rest/jobs.json',
method: 'POST',
waitTitle: 'Connecting',
waitMsg: 'Sending data...',
jsonData: {
jobs: formData
}
});
})
You don't use your formData
in your example, despite having it, BTW.
That would result in:
{
"jobs": {
"name": "dsvs",
"jobType": "CUSTOM",
"description": "sdvsdv",
"tasks": ["14","15","16"]
}
}
If that is still not suitable, than you can further hack it by calling parseInt
on each task value.
EDIT:
Added clarification.
这篇关于调整通过extjs形式发送的json格式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!