jQuery Ajax Post请求无法将数据发送到Node.js服务器

时间:2020-08-08 13:47:18

标签: javascript jquery node.js ajax rest

我正在创建一个视频流网站,使后端随时了解视频的播放状态。但是,当我尝试使用ajax请求发送数据时,它在后端显示为空对象{}

客户代码

data = JSON.stringify({"fish":"pope"})
datasize = data.length
$.ajax({
    dataType:"json",
    type: "POST",
    url:'http://localhost:8080/',
    body: data,
    success: function(data) {console.log('foobar');}
});

服务器端:

app.post("/", (req, res) => {
  res.sendStatus(200);
  console.log(req.body);
});

我尝试将数据放入data引用中,该引用也将undefined作为服务器上的输出,并设置了不允许的内容长度。我还设置了Access-Control-Allow- *选项,并且在通过Postman发送请求时可以正常工作。

编辑:调试来自浏览器的输出

Debug output from browser

1 个答案:

答案 0 :(得分:0)

在一个评论者的建议下,我使用了POSTMan生成的代码,该代码似乎运行良好。我在下面给它。

var settings = {
  "url": "http://localhost:8080/",
  "method": "POST",
  "timeout": 0,
  "headers": {
    "Content-Type": "application/json"
  },
  "data": JSON.stringify({"foo":"bar"}),
};

$.ajax(settings).done(function (response) {
  console.log(response);
});