首页 > Web开发 > 详细

Ajax请求发送的FormData是"[object object]"

时间:2015-12-20 11:42:17      阅读:761      评论:0      收藏:0      [点我收藏+]

  今天遇见一个ajax请求的问题,以前data直接传了一个json字符串,后来适应新需求将ajax的请求参数修改为对象的格式让ajax自动转换为json字符串。以下是两种ajax请求代码。

//字符串格式
$.ajax({
    url:"http://127.0.0.1/test",
    type:"post",
    dataType:"JSON",
    data:"{‘param‘:‘test‘}",
    processData :false,
});

//对象格式
$.ajax({
    url:"http://127.0.0.1/test",
    type:"post",
    dataType:"JSON",
    data:{
        param:‘test‘
    },
    processData :false,
});

  之前字符串格式的方式功能是能调通的,但是改成对象方式功能就调不通了,后台断点发现获取不到param参数。通过Chrome调试发现这个ajax请求的FormData是一个"[Object object]"字符串,并不是预期的json字符串。其他使用对象方式也没有出过问题,后来搜索了下ajax请求参数的含义,发现是因为processData这个配置的原因,processData的作用是:指定ajax是否将data中的数据进行转化,默认是true,即默认会将data中的数据转化成json字符串,false时,直接将data传输到后台。

  之前的ajax请求不是我写的,所有不懂processData的含义,去掉processData或者修改为true,就可以转化了。

Ajax请求发送的FormData是"[object object]"

原文:http://www.cnblogs.com/guanmu/p/5060395.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!