我的问题是,如何在地图对象(变量)中绑定(自动绑定?)自定义结构类型?
这是我的自定义结构类型
type Tetris struct {
... ...
NowBlock map[string]int `form:"nowBlock" json:"nowBlock"`
... ...
}
这是我的ajax代码
$.ajax({
type : "POST"
, url : "/game/tetris/api/control"
, data : {
"keyCode" : keyCode
, "ctxWidth" : ctxWidth
, "ctxHeight" : ctxHeight
, "nowBlock" : {"O":0}
} // also, i did JSON.stringify, but did not binding..
, dataType : "json"
, contentType : "application/json"
}).done(function(data){
... ...
});
然后,不要绑定“NowBlock”
tetris := new(Tetris)
if err := c.Bind(tetris); err != nil {
c.Logger().Error(err)
}
fmt.Println(tetris.NowBlock)
打印结果是,
'map[]' //nil...
这是我的完整问题链接(GOLANG > How to bind ajax json data to custom struct type?)
请帮我。
附言。谢谢你回答我。我确实喜欢这个答案。但是,它也不起作用。
第一的,
- No 'contentType : "application/json"'
- don't use JSON.stringify
then, in go side,
- fmt.println(tetris.KeyCode) // OK
- fmt.println(tetris.NowBlock) // NOT OK.. 'map[]'
第二,
- Use 'contentType : "application/json"'
- Use JSON.stringify
then, in go side,
- fmt.println(tetris.KeyCode) // NOT OK.. '' (nil)
- fmt.println(tetris.NowBlock) // NOT OK.. 'map[]'
第三,
i remove the custom struct type Tetris NowBlock object's `form:nowBlock` literal,
but is does not working too...
为什么不在地图对象中绑定自定义结构类型?
莫回无
忽然笑
相关分类