gpt4 book ai didi

javascript - Nodejs 服务器向客户端发送另一个对象

转载 作者:搜寻专家 更新时间:2023-11-01 00:36:31 25 4
gpt4 key购买 nike

我只是想将对象从客户端发送到 nodejs 服务器

Ajax 调用:

$.ajax({
url: config.api.url,
type: config.api.method,
contentType: config.api.contentType, // application/x-www-form-urlencoded; charset=UTF-8
dataType: config.api.dataType, // JSON
data: config.api.dataType === 'GET' ? {} : JSON.parse(tmp),
headers: config.api.headers,
success: (response) => { onSuccess(response); },
error: (error) => { onError(error); }
});

发送数据:

{
sort: { name: 1 }
}
// I set name property by sort['name'] = 1; at js

但是服务器收到:

{ 'sort[name]': 1 }
Nodejs server code:

exampleData = (req, res) => {
var sort = req.body.sort;
console.log(sort); // undefined
console.log(req.body); // { ..., 'sort[name]': 1 }
}

Chrome 表单数据: enter image description here

所以,我不能像js代码中的object一样正确读取object。

我的 nodejs 服务器代码:

import * as bodyParser from 'body-parser';
import * as express from 'express';
import * as mongoose from 'mongoose';
import * as path from 'path';
import * as cookieParser from 'cookie-parser';

const app = express();
app.use(bodyParser.json({ limit: 1024*1024*20, type: 'application/json' }));
app.use(bodyParser.urlencoded({ extended: false }));
// app.use(express.bodyParser({limit: '50mb'}));
app.use(cookieParser());

我该如何解决?

最佳答案

尝试在您的 js 代码中将 contentType 更改为 application/json

contentType 在服务器和客户端的类型不同。

关于javascript - Nodejs 服务器向客户端发送另一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49801098/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com