如何在jQuery中将对象转换为ajax主体?

时间:2014-08-19 01:39:11

标签: jquery ajax

我有一个期待用户对象的express服务器。我是通过ajax电话向服务器提交jQuery ajax请求的。这是我的客户端代码:

var user = {
    "first_name": "Jimi",
    "last_name": "Hendrix",
    "email": "jimi@gmail.com"
};
$.ajax({
    type: 'POST',
    url: 'http://localhost:9000/stuff',
    dataType: 'json',
    data: {user: user}
});

身体永远不会进入express。这是我的express设置。

var app = express();
app.use(bodyParser.json());

if (req.method === 'OPTIONS') {
    res.send(200);
  } else {
    next();
  }
}

app.post('/stuff', function(req, res) {
    'use strict';
    console.log(req.body);
    res.send(200);
});

我的console.log(req.body)总是返回相同的东西, body: {}

我需要做些什么让我的身体穿过我的服务器?我需要序列化数据吗?我以为我可以附上这个物品了。

1 个答案:

答案 0 :(得分:0)

jQuery中,ajax默认Content-Typeapplication/x-www-form-urlencoded。使用express服务器,如果要解析该类型的内容,则必须添加bodyParser.urlencoded({extended: false})。现在当我console.log出我的身体时,我得到了我所期待的。