美文网首页
3种不同类型的post

3种不同类型的post

作者: 俊瑶先森 | 来源:发表于2016-08-27 14:11 被阅读35次

    Post with x-www-form-urlencoded

    see post.html

    <script> 
    $(function(){ 
      $.ajaxSetup({ 
        contentType: "application/x-www-form-urlencoded;charset=utf-8" 
      }); 
      $.post("/users/post", { name: "i5a6", time: "2pm" },
        function(data){ 
          console.log(data); 
        }, "json");
      }); 
    </script>
    

    in routes/users.js

    router.post('/post', function(req, res) { 
    // res.send('respond with a resource'); 
    res.json(req.body);
    });
    
    Paste_Image.png

    Post with form-data

    主要目的是为了上传

    npm install --save multer

    Usage

    var express = require('express')
    var multer = require('multer')
    var app = express()
    app.use(multer({ dest: './uploads/'}))
    

    You can access the fields and files in the request object:

    console.log(req.body)
    console.log(req.files)
    

    重要提示:
    Multer will not process any form which is not multipart/form-data
    see more

    Paste_Image.png

    Post with raw

    To get the raw body content of a request with Content-Type: "text/plain" into req.rawBody you can do:

    https://gist.github.com/tj/3750227

    req.rawBody已经被干掉了,现在只能用req.text

    下面是tj给出的代码片段

    var express = require('./')
    var app = express();
    app.use(function(req, res, next){
    if (req.is('text/*')) { 
      req.text = ''; 
      req.setEncoding('utf8'); 
      req.on('data', function(chunk){ req.text += chunk }); 
      req.on('end', next);
     }else { 
      next(); 
      }
    });
    app.post('/', function(req, res){ 
    res.send('got "' + req.text + '"');
    });
    app.listen(3000)
    
    Paste_Image.png

    http://i5ting.github.io/node-http/#10801

    相关文章

      网友评论

          本文标题:3种不同类型的post

          本文链接:https://www.haomeiwen.com/subject/epftettx.html