Http post请求解码问题golang EOF

时间:2016-12-26 08:31:51

标签: ajax http post go

邮递员的请求是好的但是在ajax的情况下调用http:panic服务XXX.XXX.XXX.XXX:XXXXX:EOF

func BodyToJson(r *http.Request)  map[string]interface{}{
    decoder := json.NewDecoder(r.Body);
    fmt.Println(reflect.TypeOf(r.Body).Kind())
    fmt.Println(decoder);
    var dat map[string]interface{}
    err := decoder.Decode(&dat)
    if err!= nil{
        panic(err);
    }
    return dat
 }

2 个答案:

答案 0 :(得分:0)

您的申请可能会将数据发布为表格。

您可能必须使用以下代码来解析数据。

r.ParseForm()
defer r.Body.Close()
log.Println(r.Form)

答案 1 :(得分:0)

您应该检查标题Content-Type。 也许这个例子可能会有所帮助。

if request.Method == "POST" {
    dat := make(map[string]interface{})
    if postData, err := ioutil.ReadAll(request.Body); err != nil {
        panic(err)
    } else if err = json.Unmarshal(postData, &dat); err != nil{
        panic(err)
    } else {
        //use dat....
    }
}