js提交 json数据给php时的注意事项(加粗字体):
1.以uniapp举例, 微信小程序等都一样的
uni.request({
url: ‘http://XXX.XXX.XXX/index.php/XXX/XXX/XXX’,
data: {
openId: openId,
unionId: unionId,
json1: JSON.stringify(jsonA),
json2: JSON.stringify(jsonB),
},
method:”POST”,
header: {
‘Content-Type’: ‘application/x-www-form-urlencoded;charset=UTF-8’,
},
success: (res) => {
console.log(res)
}
})
提交的json数据需要 JSON.stringify 转换为字符串形式。 header 需要为 ‘Content-Type’: ‘application/x-www-form-urlencoded;charset=UTF-8’。
2.php后端:
$userdata[” json1″]=htmlspecialchars_decode($ json1 );
$userdata[” json2″]=htmlspecialchars_decode($ json1 );
所接收的 json数据需要用 htmlspecialchars_decode 转换一下。即可存入mysql数据库。这样可避免,提交的json数据被自动转义的问题。
注意:php后端框架为 thinkphp