Is it possible to bind to map object of custom struct type?
my question is,
how to bind(auto binding?) custom structure type in a map object(variable)?
this is my custom struct type
type Tetris struct {
... ...
NowBlock map[string]int `form:"nowBlock" json:"nowBlock"`
... ...
}
this is my ajax code
$.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){
... ...
});
and then, do not binding 'NowBlock'
tetris := new(Tetris)
if err := c.Bind(tetris); err != nil {
c.Logger().Error(err)
}
fmt.Println(tetris.NowBlock)
the println result is ,
'map' //nil...
this is my full question link(GOLANG > How to bind ajax json data to custom struct type?)
please help me.
ps. thank you for answer me.
I did like the answer.
BUT, it does not working too.
First,
- 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'
Second,
- 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'
Third,
i remove the custom struct type Tetris NowBlock object's `form:nowBlock` literal,
but is does not working too...
why not binding Custom structure type in a map object?
i'm so so sorry. i solve this question.
the problem that is my go custom struct type have another custom struct type.
like this.
type Tetris struct {
Common Common
NowBlock map[string]int `json:"nowBlock"`
}
type Common struct {
CtxWidth int `json:"ctxWidth"`
CtxHeight int `json:"ctxHeight"`
KeyCode int `form:"keyCode" json:"keyCode"`
}
in this case, i did
$.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){
... ...
});
but, this is wrong!
the correct is,
$.ajax({
type : "POST"
, url : "/game/tetris/api/control"
, data : JSON.stringify({
"Common" : {
"keyCode" : keyCode
, "ctxWidth" : ctxWidth
, "ctxHeight" : ctxHeight
}
, "nowBlock" : {"O":0}
})
, dataType : "json"
, contentType : "application/json"
}).done(function(data){
... ...
in json data, 'Common' struct type's data must have "Common" 'Key:value' map...
i'm very glade to your answers and attentions.
json go data-binding echo-framework
add a comment |
my question is,
how to bind(auto binding?) custom structure type in a map object(variable)?
this is my custom struct type
type Tetris struct {
... ...
NowBlock map[string]int `form:"nowBlock" json:"nowBlock"`
... ...
}
this is my ajax code
$.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){
... ...
});
and then, do not binding 'NowBlock'
tetris := new(Tetris)
if err := c.Bind(tetris); err != nil {
c.Logger().Error(err)
}
fmt.Println(tetris.NowBlock)
the println result is ,
'map' //nil...
this is my full question link(GOLANG > How to bind ajax json data to custom struct type?)
please help me.
ps. thank you for answer me.
I did like the answer.
BUT, it does not working too.
First,
- 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'
Second,
- 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'
Third,
i remove the custom struct type Tetris NowBlock object's `form:nowBlock` literal,
but is does not working too...
why not binding Custom structure type in a map object?
i'm so so sorry. i solve this question.
the problem that is my go custom struct type have another custom struct type.
like this.
type Tetris struct {
Common Common
NowBlock map[string]int `json:"nowBlock"`
}
type Common struct {
CtxWidth int `json:"ctxWidth"`
CtxHeight int `json:"ctxHeight"`
KeyCode int `form:"keyCode" json:"keyCode"`
}
in this case, i did
$.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){
... ...
});
but, this is wrong!
the correct is,
$.ajax({
type : "POST"
, url : "/game/tetris/api/control"
, data : JSON.stringify({
"Common" : {
"keyCode" : keyCode
, "ctxWidth" : ctxWidth
, "ctxHeight" : ctxHeight
}
, "nowBlock" : {"O":0}
})
, dataType : "json"
, contentType : "application/json"
}).done(function(data){
... ...
in json data, 'Common' struct type's data must have "Common" 'Key:value' map...
i'm very glade to your answers and attentions.
json go data-binding echo-framework
May we know whatc
is?
– ssemilla
Nov 21 at 5:04
i'm sorry. That 'c' is context.( echo framework link > echo.labstack.com/guide/request)
– gdk
Nov 21 at 5:26
add a comment |
my question is,
how to bind(auto binding?) custom structure type in a map object(variable)?
this is my custom struct type
type Tetris struct {
... ...
NowBlock map[string]int `form:"nowBlock" json:"nowBlock"`
... ...
}
this is my ajax code
$.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){
... ...
});
and then, do not binding 'NowBlock'
tetris := new(Tetris)
if err := c.Bind(tetris); err != nil {
c.Logger().Error(err)
}
fmt.Println(tetris.NowBlock)
the println result is ,
'map' //nil...
this is my full question link(GOLANG > How to bind ajax json data to custom struct type?)
please help me.
ps. thank you for answer me.
I did like the answer.
BUT, it does not working too.
First,
- 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'
Second,
- 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'
Third,
i remove the custom struct type Tetris NowBlock object's `form:nowBlock` literal,
but is does not working too...
why not binding Custom structure type in a map object?
i'm so so sorry. i solve this question.
the problem that is my go custom struct type have another custom struct type.
like this.
type Tetris struct {
Common Common
NowBlock map[string]int `json:"nowBlock"`
}
type Common struct {
CtxWidth int `json:"ctxWidth"`
CtxHeight int `json:"ctxHeight"`
KeyCode int `form:"keyCode" json:"keyCode"`
}
in this case, i did
$.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){
... ...
});
but, this is wrong!
the correct is,
$.ajax({
type : "POST"
, url : "/game/tetris/api/control"
, data : JSON.stringify({
"Common" : {
"keyCode" : keyCode
, "ctxWidth" : ctxWidth
, "ctxHeight" : ctxHeight
}
, "nowBlock" : {"O":0}
})
, dataType : "json"
, contentType : "application/json"
}).done(function(data){
... ...
in json data, 'Common' struct type's data must have "Common" 'Key:value' map...
i'm very glade to your answers and attentions.
json go data-binding echo-framework
my question is,
how to bind(auto binding?) custom structure type in a map object(variable)?
this is my custom struct type
type Tetris struct {
... ...
NowBlock map[string]int `form:"nowBlock" json:"nowBlock"`
... ...
}
this is my ajax code
$.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){
... ...
});
and then, do not binding 'NowBlock'
tetris := new(Tetris)
if err := c.Bind(tetris); err != nil {
c.Logger().Error(err)
}
fmt.Println(tetris.NowBlock)
the println result is ,
'map' //nil...
this is my full question link(GOLANG > How to bind ajax json data to custom struct type?)
please help me.
ps. thank you for answer me.
I did like the answer.
BUT, it does not working too.
First,
- 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'
Second,
- 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'
Third,
i remove the custom struct type Tetris NowBlock object's `form:nowBlock` literal,
but is does not working too...
why not binding Custom structure type in a map object?
i'm so so sorry. i solve this question.
the problem that is my go custom struct type have another custom struct type.
like this.
type Tetris struct {
Common Common
NowBlock map[string]int `json:"nowBlock"`
}
type Common struct {
CtxWidth int `json:"ctxWidth"`
CtxHeight int `json:"ctxHeight"`
KeyCode int `form:"keyCode" json:"keyCode"`
}
in this case, i did
$.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){
... ...
});
but, this is wrong!
the correct is,
$.ajax({
type : "POST"
, url : "/game/tetris/api/control"
, data : JSON.stringify({
"Common" : {
"keyCode" : keyCode
, "ctxWidth" : ctxWidth
, "ctxHeight" : ctxHeight
}
, "nowBlock" : {"O":0}
})
, dataType : "json"
, contentType : "application/json"
}).done(function(data){
... ...
in json data, 'Common' struct type's data must have "Common" 'Key:value' map...
i'm very glade to your answers and attentions.
json go data-binding echo-framework
json go data-binding echo-framework
edited Nov 21 at 8:47
asked Nov 21 at 4:41
gdk
65
65
May we know whatc
is?
– ssemilla
Nov 21 at 5:04
i'm sorry. That 'c' is context.( echo framework link > echo.labstack.com/guide/request)
– gdk
Nov 21 at 5:26
add a comment |
May we know whatc
is?
– ssemilla
Nov 21 at 5:04
i'm sorry. That 'c' is context.( echo framework link > echo.labstack.com/guide/request)
– gdk
Nov 21 at 5:26
May we know what
c
is?– ssemilla
Nov 21 at 5:04
May we know what
c
is?– ssemilla
Nov 21 at 5:04
i'm sorry. That 'c' is context.( echo framework link > echo.labstack.com/guide/request)
– gdk
Nov 21 at 5:26
i'm sorry. That 'c' is context.( echo framework link > echo.labstack.com/guide/request)
– gdk
Nov 21 at 5:26
add a comment |
2 Answers
2
active
oldest
votes
There is no problem in your go code. Why echo .Bind()
not able to retrieve the payload sent from AJAX is because the payload is not in JSON format.
On $.ajax
you need to JSON.stringify()
the data into JSON string format.
JSON.stringify({
"keyCode" : keyCode
, "ctxWidth" : ctxWidth
, "ctxHeight" : ctxHeight
, "nowBlock" : {"O":0}
})
Setting contentType
into application/json
will not automatically convert payload into JSON string. That's why JSON.stringy()
is still required.
Full changes:
var payload = JSON.stringify({
"keyCode": keyCode,
"ctxWidth": ctxWidth,
"ctxHeight": ctxHeight,
"nowBlock": {
"O": 0
}
})
$.ajax({
type: "POST",
url: "/game/tetris/api/control",
data: payload,
dataType: "json",
contentType: "application/json"
}).done(function(data) {
......
});
thank you. first, i was remove contentType in ajax, GO tetris.KeyCode > working // printing 'key code: 13..' but, tetris.NowBlock > don't working.. // pringing 'map' second, contentType: "application/json" and data: stringify({json..}) GO tetris.KeyCode > don't working // printing nil but, tetris.NowBlock > don't working.. // pringing 'map'
– gdk
Nov 21 at 6:48
if you remove thecontentType
, the payload will sent with content typeapplication/x-www-form-urlencoded
. some array information will be unreadable
– xpare
Nov 21 at 6:50
sorry my comment was incorrect. so i edit my question(please read the end of question).
– gdk
Nov 21 at 7:01
add a comment |
Maybe you should remove struct tag 'form', when you use 'application/json' send data, 'form' tag is unused.
The program is going well when I just add 'json' tag, and if I add 'form' tag, echo uses the 'form' and get an error.
Hope this can help you.
thank you. i did remove 'form' literal, but it did not working...
– gdk
Nov 21 at 6:46
@gdk if you send js data withcontent-type=application/json
?, you can check is with this way. 1. if data send correct, ioutil.ReadAll(c.Request().Body), this should be the json data you had sent. 2. you have the correct struct to bind to the json data. 3. use the correct struct tag. Echo bind data by struct tag and content-type, tag json forapplication/json
, tag form forapplication/x-www-form-urlencoded
, tag query for parameters in url. There is my test code: goplay.space/#A70IHubaQIH
– Laily
Nov 22 at 7:46
Tank you so much. i changed my ajax code. added code is 'application/json'. And end of my question, my mistake was custom struct type's object other custom struct type. That’s very kind of you!
– gdk
Nov 22 at 8:51
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53405374%2fis-it-possible-to-bind-to-map-object-of-custom-struct-type%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
There is no problem in your go code. Why echo .Bind()
not able to retrieve the payload sent from AJAX is because the payload is not in JSON format.
On $.ajax
you need to JSON.stringify()
the data into JSON string format.
JSON.stringify({
"keyCode" : keyCode
, "ctxWidth" : ctxWidth
, "ctxHeight" : ctxHeight
, "nowBlock" : {"O":0}
})
Setting contentType
into application/json
will not automatically convert payload into JSON string. That's why JSON.stringy()
is still required.
Full changes:
var payload = JSON.stringify({
"keyCode": keyCode,
"ctxWidth": ctxWidth,
"ctxHeight": ctxHeight,
"nowBlock": {
"O": 0
}
})
$.ajax({
type: "POST",
url: "/game/tetris/api/control",
data: payload,
dataType: "json",
contentType: "application/json"
}).done(function(data) {
......
});
thank you. first, i was remove contentType in ajax, GO tetris.KeyCode > working // printing 'key code: 13..' but, tetris.NowBlock > don't working.. // pringing 'map' second, contentType: "application/json" and data: stringify({json..}) GO tetris.KeyCode > don't working // printing nil but, tetris.NowBlock > don't working.. // pringing 'map'
– gdk
Nov 21 at 6:48
if you remove thecontentType
, the payload will sent with content typeapplication/x-www-form-urlencoded
. some array information will be unreadable
– xpare
Nov 21 at 6:50
sorry my comment was incorrect. so i edit my question(please read the end of question).
– gdk
Nov 21 at 7:01
add a comment |
There is no problem in your go code. Why echo .Bind()
not able to retrieve the payload sent from AJAX is because the payload is not in JSON format.
On $.ajax
you need to JSON.stringify()
the data into JSON string format.
JSON.stringify({
"keyCode" : keyCode
, "ctxWidth" : ctxWidth
, "ctxHeight" : ctxHeight
, "nowBlock" : {"O":0}
})
Setting contentType
into application/json
will not automatically convert payload into JSON string. That's why JSON.stringy()
is still required.
Full changes:
var payload = JSON.stringify({
"keyCode": keyCode,
"ctxWidth": ctxWidth,
"ctxHeight": ctxHeight,
"nowBlock": {
"O": 0
}
})
$.ajax({
type: "POST",
url: "/game/tetris/api/control",
data: payload,
dataType: "json",
contentType: "application/json"
}).done(function(data) {
......
});
thank you. first, i was remove contentType in ajax, GO tetris.KeyCode > working // printing 'key code: 13..' but, tetris.NowBlock > don't working.. // pringing 'map' second, contentType: "application/json" and data: stringify({json..}) GO tetris.KeyCode > don't working // printing nil but, tetris.NowBlock > don't working.. // pringing 'map'
– gdk
Nov 21 at 6:48
if you remove thecontentType
, the payload will sent with content typeapplication/x-www-form-urlencoded
. some array information will be unreadable
– xpare
Nov 21 at 6:50
sorry my comment was incorrect. so i edit my question(please read the end of question).
– gdk
Nov 21 at 7:01
add a comment |
There is no problem in your go code. Why echo .Bind()
not able to retrieve the payload sent from AJAX is because the payload is not in JSON format.
On $.ajax
you need to JSON.stringify()
the data into JSON string format.
JSON.stringify({
"keyCode" : keyCode
, "ctxWidth" : ctxWidth
, "ctxHeight" : ctxHeight
, "nowBlock" : {"O":0}
})
Setting contentType
into application/json
will not automatically convert payload into JSON string. That's why JSON.stringy()
is still required.
Full changes:
var payload = JSON.stringify({
"keyCode": keyCode,
"ctxWidth": ctxWidth,
"ctxHeight": ctxHeight,
"nowBlock": {
"O": 0
}
})
$.ajax({
type: "POST",
url: "/game/tetris/api/control",
data: payload,
dataType: "json",
contentType: "application/json"
}).done(function(data) {
......
});
There is no problem in your go code. Why echo .Bind()
not able to retrieve the payload sent from AJAX is because the payload is not in JSON format.
On $.ajax
you need to JSON.stringify()
the data into JSON string format.
JSON.stringify({
"keyCode" : keyCode
, "ctxWidth" : ctxWidth
, "ctxHeight" : ctxHeight
, "nowBlock" : {"O":0}
})
Setting contentType
into application/json
will not automatically convert payload into JSON string. That's why JSON.stringy()
is still required.
Full changes:
var payload = JSON.stringify({
"keyCode": keyCode,
"ctxWidth": ctxWidth,
"ctxHeight": ctxHeight,
"nowBlock": {
"O": 0
}
})
$.ajax({
type: "POST",
url: "/game/tetris/api/control",
data: payload,
dataType: "json",
contentType: "application/json"
}).done(function(data) {
......
});
answered Nov 21 at 6:14
xpare
4,6372248
4,6372248
thank you. first, i was remove contentType in ajax, GO tetris.KeyCode > working // printing 'key code: 13..' but, tetris.NowBlock > don't working.. // pringing 'map' second, contentType: "application/json" and data: stringify({json..}) GO tetris.KeyCode > don't working // printing nil but, tetris.NowBlock > don't working.. // pringing 'map'
– gdk
Nov 21 at 6:48
if you remove thecontentType
, the payload will sent with content typeapplication/x-www-form-urlencoded
. some array information will be unreadable
– xpare
Nov 21 at 6:50
sorry my comment was incorrect. so i edit my question(please read the end of question).
– gdk
Nov 21 at 7:01
add a comment |
thank you. first, i was remove contentType in ajax, GO tetris.KeyCode > working // printing 'key code: 13..' but, tetris.NowBlock > don't working.. // pringing 'map' second, contentType: "application/json" and data: stringify({json..}) GO tetris.KeyCode > don't working // printing nil but, tetris.NowBlock > don't working.. // pringing 'map'
– gdk
Nov 21 at 6:48
if you remove thecontentType
, the payload will sent with content typeapplication/x-www-form-urlencoded
. some array information will be unreadable
– xpare
Nov 21 at 6:50
sorry my comment was incorrect. so i edit my question(please read the end of question).
– gdk
Nov 21 at 7:01
thank you. first, i was remove contentType in ajax, GO tetris.KeyCode > working // printing 'key code: 13..' but, tetris.NowBlock > don't working.. // pringing 'map' second, contentType: "application/json" and data: stringify({json..}) GO tetris.KeyCode > don't working // printing nil but, tetris.NowBlock > don't working.. // pringing 'map'
– gdk
Nov 21 at 6:48
thank you. first, i was remove contentType in ajax, GO tetris.KeyCode > working // printing 'key code: 13..' but, tetris.NowBlock > don't working.. // pringing 'map' second, contentType: "application/json" and data: stringify({json..}) GO tetris.KeyCode > don't working // printing nil but, tetris.NowBlock > don't working.. // pringing 'map'
– gdk
Nov 21 at 6:48
if you remove the
contentType
, the payload will sent with content type application/x-www-form-urlencoded
. some array information will be unreadable– xpare
Nov 21 at 6:50
if you remove the
contentType
, the payload will sent with content type application/x-www-form-urlencoded
. some array information will be unreadable– xpare
Nov 21 at 6:50
sorry my comment was incorrect. so i edit my question(please read the end of question).
– gdk
Nov 21 at 7:01
sorry my comment was incorrect. so i edit my question(please read the end of question).
– gdk
Nov 21 at 7:01
add a comment |
Maybe you should remove struct tag 'form', when you use 'application/json' send data, 'form' tag is unused.
The program is going well when I just add 'json' tag, and if I add 'form' tag, echo uses the 'form' and get an error.
Hope this can help you.
thank you. i did remove 'form' literal, but it did not working...
– gdk
Nov 21 at 6:46
@gdk if you send js data withcontent-type=application/json
?, you can check is with this way. 1. if data send correct, ioutil.ReadAll(c.Request().Body), this should be the json data you had sent. 2. you have the correct struct to bind to the json data. 3. use the correct struct tag. Echo bind data by struct tag and content-type, tag json forapplication/json
, tag form forapplication/x-www-form-urlencoded
, tag query for parameters in url. There is my test code: goplay.space/#A70IHubaQIH
– Laily
Nov 22 at 7:46
Tank you so much. i changed my ajax code. added code is 'application/json'. And end of my question, my mistake was custom struct type's object other custom struct type. That’s very kind of you!
– gdk
Nov 22 at 8:51
add a comment |
Maybe you should remove struct tag 'form', when you use 'application/json' send data, 'form' tag is unused.
The program is going well when I just add 'json' tag, and if I add 'form' tag, echo uses the 'form' and get an error.
Hope this can help you.
thank you. i did remove 'form' literal, but it did not working...
– gdk
Nov 21 at 6:46
@gdk if you send js data withcontent-type=application/json
?, you can check is with this way. 1. if data send correct, ioutil.ReadAll(c.Request().Body), this should be the json data you had sent. 2. you have the correct struct to bind to the json data. 3. use the correct struct tag. Echo bind data by struct tag and content-type, tag json forapplication/json
, tag form forapplication/x-www-form-urlencoded
, tag query for parameters in url. There is my test code: goplay.space/#A70IHubaQIH
– Laily
Nov 22 at 7:46
Tank you so much. i changed my ajax code. added code is 'application/json'. And end of my question, my mistake was custom struct type's object other custom struct type. That’s very kind of you!
– gdk
Nov 22 at 8:51
add a comment |
Maybe you should remove struct tag 'form', when you use 'application/json' send data, 'form' tag is unused.
The program is going well when I just add 'json' tag, and if I add 'form' tag, echo uses the 'form' and get an error.
Hope this can help you.
Maybe you should remove struct tag 'form', when you use 'application/json' send data, 'form' tag is unused.
The program is going well when I just add 'json' tag, and if I add 'form' tag, echo uses the 'form' and get an error.
Hope this can help you.
answered Nov 21 at 6:11
Laily
1,8661910
1,8661910
thank you. i did remove 'form' literal, but it did not working...
– gdk
Nov 21 at 6:46
@gdk if you send js data withcontent-type=application/json
?, you can check is with this way. 1. if data send correct, ioutil.ReadAll(c.Request().Body), this should be the json data you had sent. 2. you have the correct struct to bind to the json data. 3. use the correct struct tag. Echo bind data by struct tag and content-type, tag json forapplication/json
, tag form forapplication/x-www-form-urlencoded
, tag query for parameters in url. There is my test code: goplay.space/#A70IHubaQIH
– Laily
Nov 22 at 7:46
Tank you so much. i changed my ajax code. added code is 'application/json'. And end of my question, my mistake was custom struct type's object other custom struct type. That’s very kind of you!
– gdk
Nov 22 at 8:51
add a comment |
thank you. i did remove 'form' literal, but it did not working...
– gdk
Nov 21 at 6:46
@gdk if you send js data withcontent-type=application/json
?, you can check is with this way. 1. if data send correct, ioutil.ReadAll(c.Request().Body), this should be the json data you had sent. 2. you have the correct struct to bind to the json data. 3. use the correct struct tag. Echo bind data by struct tag and content-type, tag json forapplication/json
, tag form forapplication/x-www-form-urlencoded
, tag query for parameters in url. There is my test code: goplay.space/#A70IHubaQIH
– Laily
Nov 22 at 7:46
Tank you so much. i changed my ajax code. added code is 'application/json'. And end of my question, my mistake was custom struct type's object other custom struct type. That’s very kind of you!
– gdk
Nov 22 at 8:51
thank you. i did remove 'form' literal, but it did not working...
– gdk
Nov 21 at 6:46
thank you. i did remove 'form' literal, but it did not working...
– gdk
Nov 21 at 6:46
@gdk if you send js data with
content-type=application/json
?, you can check is with this way. 1. if data send correct, ioutil.ReadAll(c.Request().Body), this should be the json data you had sent. 2. you have the correct struct to bind to the json data. 3. use the correct struct tag. Echo bind data by struct tag and content-type, tag json for application/json
, tag form for application/x-www-form-urlencoded
, tag query for parameters in url. There is my test code: goplay.space/#A70IHubaQIH– Laily
Nov 22 at 7:46
@gdk if you send js data with
content-type=application/json
?, you can check is with this way. 1. if data send correct, ioutil.ReadAll(c.Request().Body), this should be the json data you had sent. 2. you have the correct struct to bind to the json data. 3. use the correct struct tag. Echo bind data by struct tag and content-type, tag json for application/json
, tag form for application/x-www-form-urlencoded
, tag query for parameters in url. There is my test code: goplay.space/#A70IHubaQIH– Laily
Nov 22 at 7:46
Tank you so much. i changed my ajax code. added code is 'application/json'. And end of my question, my mistake was custom struct type's object other custom struct type. That’s very kind of you!
– gdk
Nov 22 at 8:51
Tank you so much. i changed my ajax code. added code is 'application/json'. And end of my question, my mistake was custom struct type's object other custom struct type. That’s very kind of you!
– gdk
Nov 22 at 8:51
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53405374%2fis-it-possible-to-bind-to-map-object-of-custom-struct-type%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
May we know what
c
is?– ssemilla
Nov 21 at 5:04
i'm sorry. That 'c' is context.( echo framework link > echo.labstack.com/guide/request)
– gdk
Nov 21 at 5:26