2017-08-11 82 views
-1

我想表单数据提交的要求是这样的:序列化对象到表单数据

playdate: 2017-08-06 
players[1][name]: Alex 
players[1][username]: Alex 
players[1][score]: 51 

不过,如果我添加了一个球员反对这样的:

var players = grid.getSelectionModel().getSelection().map(function(record) { 
    return record.getData(); 
}); 
form.submit({ 
    url:'log.php' 
    params: { 
     players: players 
    } 
}); 

然后ExtJS的提交后像这样:

playdate: 2017-08-06 
players: [object Object] 

不ExtJS是否支持序列化一个表单urlencoded请求的对象?

Relevant fiddle

+0

你为什么不字符串化数据发送到服务器。例如Ext.encode()或Ext.JSON.encode()。检查它解决您的问题。 – Tejas

+0

我无法更改后端,boardgamegeek服务器无法进行字符串输入。 – Alexander

回答

0

看一看的documentation。 它应该在你提交呼叫使用属性jsonSubmit:true

form.submit({ 
    url:'log.php' 
    params: { 
     players: players 
    }, 
    jsonSubmit: true 
}); 
+0

不,它没有。使用jsonSubmit时,它不会执行表单提交。当然它不会,因为我会告诉ExtJS做一个json提交,这不是打算的。 – Alexander