客户端发起post请求,golang服务端总是收不到数据?

前端用react ,用的axios发post请求,代码如下:



//http.js
import axios from 'axios';
var http = axios.create({
baseURL: 'http://localhost:8080',
timeout: 1000,
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
}
});

export default http ;
//actions.js
export function login(data) {
return dispatch => {
return http.post('/api/auth', {
firstName: 'Fred',
lastName: 'Flintstone'
}).then(res => {
// .........此处省略
});
}
}

服务器端用的是iris ,代码如下:



func main() {
crs := cors.New(cors.Options{
AllowCredentials: true,
AllowedHeaders: []string{"*"},
Debug: true,
})
iris.Use(crs)
iris.Post("/api/auth", AuthHandler)
iris.Listen(":8080")
}

type Response struct {
Data string `json: "text"`
Token string `json: "text"`
}

func AuthHandler(ctx *iris.Context) {
name := ctx.FormValueString("firstName")

ctx.Log("\n", name)
response := Response{"All good", "amyAYwuHCo7IFAgd1oRpSP7nzL7BF5t7ItqpKViM"}
ctx.JSON(iris.StatusOK, response)
}

但是发现无论怎么样,从浏览器发起的请求(无论是在react中,还是使用chrome的rest插件发起的请求),在服务器总是接收不到数据 ,


####iris打印日志如下
[cors] 2016/12/30 22:01:05 Serve: Actual request
[IRIS] 2016/12/30 22:01:05
%!(EXTRA string= ) #这是打印为空

而在控制台使用如下命令则可以打印出数据 :


curl -X POST  -d  "firstName=frey" -H "Content-Type:application/json" --header "X-Forwarded-For: 127.0.0.1:3000" "http://localhost:8080/api/auth"

####iris打印日志如下
[cors] 2016/12/30 22:01:05 Serve: Actual request
[IRIS] 2016/12/30 22:01:05
%!(EXTRA string=frey) #可以正常打印出name

请问这是为什么呢?

已邀请:

elone

赞同来自:

问题已解决。

要回复问题请先登录注册