最近有点困惑,在进行ajax请求填写data参数时,什么情况下该用JSON.stringify,什么时候不用,直接上json对象?
我是后端开发的,有时候会看到前端传过来的数据不是我想的那样,什么原因呢?
今晚再次遇到,所以就上网搜搜,果然,在前端方面,我还是太弱了。事不宜迟,赶紧记录下来。
假如,我的json对象是这样的
var data = {
name: 'vinxent',
age: 21
}
那么问题来了,在get方法中和post方法中,data的参数应该一样吗?
过程不论证了,只说结果吧
事实上,加入不用JSON.stringify(data), 会变成字符串拼接,'name=vinxent&age=21',有点和get方法相像。若使用JSON.stringify(data),则会传输json字符串-- "{name:'vinxent', age:21}" 。
所以,在一般场景来说,get方法无需JSON.stringify,post方法需要。