客户端发起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

赞同来自:

问题已解决。

要回复问题请先登录注册