weixin_33726943 2020-03-31 07:30 采纳率: 0%
浏览 1249

为什么REQ.BODY始终为空?

I know there are a lot of answer already marked as a working solution, but I can't make it work in my case, so please don't marked it as already answered, this is my scenario:

AJAX CLIENT SIDE

var data ={};
data.test="ciaozio";
$.ajax({
    url: 'http://localhost:5000/dir',
    method: "POST",
    contentType: "application/json",
    data: JSON.stringify(data),
    header: "Access-Control-Allow-Origin",
    success: function(data){
        console.log(data);
    },
    error: function(data) {
        console.log("error");
    }
});

NODEJS SERVER-SIDE

var express = require('express');
var bodyParser = require('body-parser');
var app = express();
var router = express.Router();
app.use(bodyParser.urlencoded({ extended: true })); // support encoded bodies
app.use(bodyParser.json()); // support json encoded bodies
app.use('/', router);

app.post('/dir', function (req, res) {
  console.log(req.body);
  res.end("Ok");
})

var server = app.listen(5000, function () {
   var host = server.address().address
   var port = server.address().port
   console.log("Example app listening at http://%s:%s", host, port)
})

CONSOLE-OUTPUT

Example app listening at http://:::5000
{}

CLIENT-SIDE CONSOLE OUTPUT

Access to XMLHttpRequest at 'http://localhost:5000/dir' from origin 'null' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
index.js:29 error
jquery-3.4.1.min.js:2 POST http://localhost:5000/dir net::ERR_FAILED
  • 写回答

1条回答 默认 最新

  • weixin_33725239 2020-03-31 07:44
    关注

    You need to add and configure CORS to your request.

    Steps:

    1.Install cors npm package

    npm install cors
    

    2.Node server-side snippt

     var express = require('express')
     var cors = require('cors')
     var app = express()
     app.use(cors())
     //app.use(...) lines;
    
    // app.post(..) lines;
    
    评论

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料