美文网首页前端学习之路我爱编程
Fetch POST传递参数及Node.js接收参数

Fetch POST传递参数及Node.js接收参数

作者: 袁俊亮技术博客 | 来源:发表于2016-12-14 10:00 被阅读1454次

Fetch POST传递参数及Node.js接收参数

标签(空格分隔): Node.js


XMLHttpRequest (Ajax)是一个设计粗糙的API,不符合关注分离(Separation of Concerns)的原则,配置和调用方式非常混乱,而且基于事件的异步模型写起来也没有现代的Promise,generator/yield,async/await 友好。

Fetch 的出现就是为了解决 XHR 的问题,Fetch API 是基于Promise 设计。

刚开始用的时候发现个问题,POST数据发现后端获取不到,GET方式是没有问题的。后来查资料发现是自己一些参数没有设置对。应该以如下方式

前端请求

fetch("http://192.168.199.141:3000/api/user/",{
  method:'POST',
  headers:{
     'Content-Type': 'application/json'
  },
  body:JSON.stringify({
    name:'john',
    pass:'xioayuan'
  })
})
.then((response)=>response.json())
.then((responseJsonData)=>{
  alert("请求成功");
  console.log(responseJsonData);
})
.catch((error)=>{
  alert(error);
})

后端接收方式(Node.js中)

router.post('/',function(req,res){
    //提取请求参数
    var name = req.param('name');
    var pass = req.param('pass');

    console.log("name= "+name);
    console.log("pass="+pass);
    // 返回json给前端
    res.send({
        'username':name,
        'password':pass
    });
})

参考资料:Fetch POST接收不到数据,注意content-type的设置

传统 Ajax 已死,Fetch 永生

相关文章

网友评论

    本文标题:Fetch POST传递参数及Node.js接收参数

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