读取Json表单数据golang

读取Json表单数据golang,go,go-iris,Go,Go Iris,我正在使用ajax将JSON和序列化格式的表单数据发送到golang服务器。我无法读取这些数据 我正在使用kataras/iris golang框架 下面是我的代码- 功能${ $.fn.serializeFormJSON=函数{ var o={}; var a=this.serializeArray; $.eacha,函数{ 如果o[此名称]{ if!o[this.name].push{ o[this.name]=[o[this.name]]; } o[this.name].pushthis

我正在使用ajax将JSON和序列化格式的表单数据发送到golang服务器。我无法读取这些数据

我正在使用kataras/iris golang框架

下面是我的代码-

功能${ $.fn.serializeFormJSON=函数{ var o={}; var a=this.serializeArray; $.eacha,函数{ 如果o[此名称]{ if!o[this.name].push{ o[this.name]=[o[this.name]]; } o[this.name].pushthis.value | |; }否则{ o[this.name]=this.value | |; } }; 返回o; }; }jQuery; var触点={ 发送消息:函数{ 返回m请求{ 方法:邮寄, url:/send/message, 数据:JSON.stringifyjQuery'contact-form'.serializeFormJSON, 事实上, 标题:{ 'X-CSRF-Token':'Token_here' } } } }
{\first\u name\:\sdfsj\,\csrf.Token\:\FjtWs7UFqC4mPlZU\,\last\u name\:\KJDHKFSDJFH\,\email\:\DJFHKSDJFH@KJHFSF.COM\} 一方面,您正在向服务器发送一个JSON,但在获取参数时,您正在将其作为application/x-www-form-urlencoded获取,首先,将JSON参数作为JSON而不是字符串发送,删除字符串化,即:

而不是:

JSON.stringify(jQuery('#contact-form').serializeFormJSON())
做:

在Go文件中,将其绑定到对象:

var contact []Contact 
err := ctx.ReadJSON(&contact) 

祝您好运:

您是否尝试添加标题:Content-Type:application/x-www-form-urlencoded?不,我没有添加,是否需要添加一个?我将只添加一个并测试它。通常表单参数需要这个头并用它解析更改,如果您使用application/json,那么它允许您使用x-www-form-urlencoded将值设置为form,即:firstname=…&lastname=。。。然后用FormValue/PostFormmy解析当前内容类型头值,该值类似于以下内容类型:application/json;charset=UTF-8 application/x-www-form-urlencodedNo-change,仍为空值。
var contact []Contact 
err := ctx.ReadJSON(&contact)