Djang+React配合开发遇到 axios发出post,但后端接收不到参数的解决方案

在尝试把Django作为一个单纯的REST框架配合React进行web开发的时候遇到了使用axios发出post请求,但Django后端收不到数据的情况。
axios代码是很普通的样例代码:

axios({

	method: 'post',
	url: '/api/../register',
	data: {
		username:'aaaa',
		pwd:'123'
	}
})

这篇文章 和这篇文章的博主解释了这个问题的来源,结合Django的文档与实际打的log的输出,原因应该是Django接受POST请求时,只有请求header中的 ‘Content-Type’:'application/x-www-form-urlencoded’才会填充request.POST,其它情况下只有一个空的

解决方案有很多,可以从前端改 参考文章 和这篇文章,但那样前端会很难看,而且有适配性的问题。所以我直接从后端改,从body中load数据:

body_unicode = request.body.decode('utf-8')
body = json.loads(body_unicode)
content = body['content']

ok~

你可能感兴趣的:(Djang+React配合开发遇到 axios发出post,但后端接收不到参数的解决方案)