javascript - 发送带有 JSON 正文的文件

标签 javascript node.js http

在客户端我有:

var data = new FormData();

    data.append('users',  [{ name: "John"}] );
    data.append('excel', files[0]);
    console.log(data);
    $.ajax({
        url: 'url',
        type: 'POST',
        data: data,
        cache: false,
        processData: false,  
        contentType: false,

在服务器上我的下一个中间件:

app.use(bodyParser.json({limit:1024*1024}));
app.use(bodyParser.urlencoded());
app.use(multer());

但是当我发送一些东西时,我有文件但没有解析 JSON 正文,它看起来像:

{ users: '[object Object]' }

最佳答案

我认为你应该显示 Controller 代码。但根据你在评论中所说的。

And if i user JSON.stringify([{ name: "John"}]), i will be have this { users: '[{"name":"John"}]' }

用途:

JSON.stringify([{ name: "John"}])

然后在接收端:

{ users: JSON.parse('[{"name":"John"}]') }

对接收到的数据使用 JSON.parse

现在你:

  • 以字符串形式发送数据
  • 以字符串形式接收数据
  • JSON.parse 接收的字符串将其转换回对象

关于javascript - 发送带有 JSON 正文的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26384030/

相关文章:

javascript - 如何在 for 循环中等待直到 ajax 调用完成

json - 垃圾 JSON 响应 - Node 请求

node.js - 如何使用 Node 模块打包 Assets

javascript - 从 onclick 函数为对象赋值

javascript - 同时动画导航菜单下拉菜单

javascript - 动态创建 Prometheus 仪表名称

Java HTTP 响应代码、URL、IOException

http - 为什么 HTTP 错误代码从 100 开始

c++ - 通过 HTTPS 的 POST 请求 - 哪个图书馆?

Javascript 将日期添加到日期