使用beego框架,前端POST传递json字符串, 后端接收, 出现错误:
unexpected end of JSON input:

// 请求格式:
// POST /todo {"Title": "xxx"}
func (c *TodoController) AddTodo() {
	item := types.TodoItem{}
	result := util.Response{}
	var err error
	var success bool
	// err=unexpected end of JSON input
	err = json.Unmarshal(c.Ctx.Input.RequestBody, &item)
	if err != nil {
		fmt.Printf("err=%s", err)
		result = util.FailResponse(nil)
		goto End
	}
	// 省略部分无关代码...
End:
	c.Data["json"] = result
	c.ServeJSON()
}

检查前端传参, 后台代码都没问题。
后来查找了一番, 发现需要在配置文件中添加copyrequestbody = true, 参见文档: https://beego.me/docs/mvc/controller/config.md

添加配置项后, 需要重新bee run, 然后就正常了。

欢迎补充指正!

GitHub 加速计划 / js / json
41.72 K
6.61 K
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:1 个月前 )
960b763e 4 个月前
8c391e04 6 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐