Ajax请求发送的FormData是[objectobject]
今天遇见⼀个ajax请求的问题,以前data直接传了⼀个json字符串,后来适应新需求将ajax的请求参数修改为对象的格式让ajax⾃动转换为json字符串。以下是两种ajax请求代码。
//字符串格式
$.ajax({
url:"127.0.0.1/test",
type:"post",
dataType:"JSON",
data:"{'param':'test'}",
processData :false,
});
//对象格式
$.ajax({
url:"127.0.0.1/test",
type:"post",
dataType:"JSON",
发送ajax请求的步骤data:{
param:'test'
},
processData :false,
});
之前字符串格式的⽅式功能是能调通的,但是改成对象⽅式功能就调不通了,后台断点发现获取不到param参数。通过Chrome调试发现这个ajax请求的FormData是⼀个"[Object object]"字符串,并不是预期的json字符串。其他使⽤对象⽅式也没有出过问题,后来搜索了下ajax请求参数的含义,发现是因为p
rocessData这个配置的原因,processData的作⽤是:指定ajax是否将data中的数据进⾏转化,默认是true,即默认会将data中的数据转化成json字符串,false时,直接将data传输到后台。
之前的ajax请求不是我写的,所有不懂processData的含义,去掉processData或者修改为true,就可以转化了。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论