javascript - fetch在请求中附加参数,用node搭的服务器获取参数,获取不到
黄舟
黄舟 2017-04-11 12:19:09
[JavaScript讨论组]

react写成的app里面,用fetch发请求,用nodeJS搭的服务器接收请求,fetch的请求需要附加请求参数,是写在body里面吗?我这样写了,但是nodeJS那边打印req.bodyundefined

fetch请求的代码:

export const newProject = (projectName)=>dispatch=>{
    return fetch(`${ADDRESS}/settings/createModule`,{
        method: "POST",
          mode: "cors",
         headers: {
            "Content-Type": "application/x-www-form-urlencoded"
          },
          body:projectName
    })
    .then(response=>{
        console.log(response)
    })
}

node服务器的代码:req.hasOwnProperty('body')false,打印Object.keys(req)里面也没有body

var express = require('express');
var app = express();

app.use(require('cors')());
app.post('/settings/createModule',function(req, res){
    console.log(req.body); //undefined
    console.log(req.hasOwnProperty("body")); //false
    res.status(200);
    res.send(projectID);
})
app.listen(9876, function () {
  console.log('Example app listening on port 9876!');
});

用浏览器查看network,参数有发送成功:好绝望啊

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(1)
大家讲道理

试试

export const newProject = (projectName)=>dispatch=>{
    return fetch(`${ADDRESS}/settings/createModule`,{
        method: 'POST',
        headers: {
          'Content-Type': 'application/x-www-form-urlencoded'
        },
        credentials: 'include',
        body: `projectName=${projectName}`
    })
    .then(response=>{
        console.log(response)
    })
}
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号