Post至后台接收到的为空

post请求格式

  1. 字符串: ‘name=code_bunny&age=12’
    这种格式的请求体,需要配置请求头 ‘Content-Type’:’application/x-www-form-urlencoded’

  2. json: {name:’code_bunny’,age:12}
    这种格式的请求体,需要配置请求头 ‘Content-Type’:’application/json;charset=UTF-8’

  3. jquery默认第一种请求,angular默认第二种请求

  4. 请求体格式和请求头的Content-Type类型必须保持一致,否则后台接收到的请求提都会是空的.

node

1
2
3
4
5
6
7
8
9
var express = require('express');
var bodyParser = require('body-parser');
var app = express();
// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: false }));
// parse application/json
app.use(bodyParser.json());
  • 使用bodyParser.urlencoded(),使node后台支持了第一种请求体.
  • 使用bodyParser.json(),使node后台支持了第二种请求体.
  • 后定义的不会覆盖先定义的… 也就是说,这段代码同时支持了这两种请求体.
  • 虽然请求体的格式不同,但是经过node解析后,他们最终得到的都是json格式的对象.