最近有点困惑,在进行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方法需要。
听说,data参数还可以是数组。有点过瘾,下次研究。