2016-12-26 199 views
0

請求與郵差是好的,但在Ajax調用HTTP的情況下:恐慌服務XXX.XXX.XXX.XXX:XXXXX:EOFHTTP POST請求解碼問題golang 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 
} 

回答

0

您的應用程序可能會發布數據作爲表格。

您可能不得不使用以下代碼來解析數據。

r.ParseForm() 
defer r.Body.Close() 
log.Println(r.Form) 
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.... 
    } 
}