我在登录注册用户时收到此错误当然,我在使用dotenv包来保护我的数据库加密密钥后收到此错误
但proccess.env.SECRET正在正常工作
我想我的问题就在这里:
userSchema.plugin(encrypt, {
secret: process.env.SECRET,
encryptedFields: ["password"],
});
Run Code Online (Sandbox Code Playgroud)
应用程序.js:
require("dotenv").config();
const express = require("express");
const bodyParser = require("body-parser");
const ejs = require("ejs");
const mongoose = require("mongoose");
const encrypt = require("mongoose-encryption");
const app = express();
app.use(express.static("public"));
app.set("view engine", "ejs");
app.use(bodyParser.urlencoded({ extended: true }));
mongoose.connect("mongodb://localhost:27017/userDB", {
useUnifiedTopology: true,
useNewUrlParser: true,
});
const userSchema = new mongoose.Schema({
email: String,
password: String,
});
//_
// encrypting password field // |
userSchema.plugin(encrypt, { // | i guess problem …Run Code Online (Sandbox Code Playgroud) 使用以下内容时:
var app = require('express')();
var bodyParser = require('body-parser');
app.post('/test', bodyParser.json(), function(req, res) {
res.json(req.body);
});
var port = 4040;
app.listen(port, function() {
console.log('server up and running at port: %s', port);
});
Run Code Online (Sandbox Code Playgroud)
以及邮递员的以下帖子:
我得到一个空的回应。我已经关注了很多关于使用 bodyParser.json() 的线程,出于某种原因,我仍然收到一个空对象作为响应。我错过了什么?
我有一个客户请求
Content-type: Content-Type:application/x-www-form-urlencoded; charset=UTF-8
Run Code Online (Sandbox Code Playgroud)
像这样的表单数据(json):
{"jsonrpc":"2.0","method":"print","params":{"id":"lp0","doc":"<section>
<p> sitedemo </p><br><barcode> CLODGCGMM
</barcode><br><br><hr><drawer></drawer><br></section>"},"id":1501151330950}
Run Code Online (Sandbox Code Playgroud)
node.js 服务器使用 body-parser 中间件,如下所示:
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
Run Code Online (Sandbox Code Playgroud)
一个 console.log(request.body) 给我这样的东西:
{ '{"jsonrpc":"2.0","method":"print","params":{"id":"lp0","doc":"<section>
<p>': '',
'nbsp;': '',
'nbsp;sitedemo': '',
'nbsp;':'',
' </p><br><barcode>':''
'.......}'}
Run Code Online (Sandbox Code Playgroud)
构建了一个 json 对象,其键由行和值 null 组成。
我如何检索客户端发送的确切对象(我无法访问客户端)
谢谢你。
服务器:
//Body Parser
var bodyParser = require("body-parser");
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false}));
Run Code Online (Sandbox Code Playgroud)
客户:
<form enctype="multipart/form-data" method="post" action="../users/editProfile" class="uploadForm">
Run Code Online (Sandbox Code Playgroud)
出于某种原因,req.body我提交表单时总是空的.它之前的工作非常好,据我所知,我添加的唯一内容是9个输入,总共15个.
可能是什么导致了这个?
我已经检查了这个:req.body在帖子上是空的
这些答案似乎都没有解决我的问题.
我的代码:
反应.js
let lsStr = ''
lsStr = `https://192.168.0.1/basic/code02/exlup02`
if (window.confirm(message)) {
fetch(lsStr,
{ method: "POST",
body: JSON.stringify({"Data": "MY DATA"}),
headers:{
'Content-Type':'application/x-www-form-urlencoded'
}
})
.then(function(res){ return res.json(); })
.then(data =>console.log(data));
Run Code Online (Sandbox Code Playgroud)2.server.js
var express = require('express')
var router = express.Router();
const cors = require('cors')
var pool = require('../db')
router.post('/code02/exlup02', function(req, res, next) {
console.log('post page')
let lsModnm = req.body;
if(!lsModnm){
return res.status(400).send({ error:true, message: 'Please provide excel' });
}else{
console.log(req.body)
}
});
Run Code Online (Sandbox Code Playgroud)
当前:console.log(req.body) 日志 {}
return message : Please provide excel!! …Run Code Online (Sandbox Code Playgroud) body-parser ×5
node.js ×5
express ×3
javascript ×3
fetch ×1
forms ×1
json ×1
mongoose ×1
post ×1
reactjs ×1