Пожалуйста, как я могу исправить эту ошибку "TypeError: не может установить свойства не определенного (настройка" userIdJavascript

Форум по Javascript
Ответить
Anonymous
 Пожалуйста, как я могу исправить эту ошибку "TypeError: не может установить свойства не определенного (настройка" userId

Сообщение Anonymous »

Я хочу отобразить различные заказы на продукты питания в корзине питания клиентов. < /p>
Это мой файл "server.js".

Код: Выделить всё

import express from "express";
import cors from "cors";
import { connectDB } from "./config/db.js";
import foodRouter from "./routes/foodRoute.js";
import userRouter from "./routes/userRoute.js";
import foodbasketRouter from "./routes/foodbasketRoute.js";
import "dotenv/config";

// app config
const app = express();
const port = process.env.PORT || 4000;

// middleware
app.use(express.json());
app.use(cors());

// db connection
connectDB();

// api endpoints
app.use("/api/food", foodRouter);
app.use("/images", express.static("uploads/foods") ); // image path
app.use("/api/user", userRouter);
app.use("/api/foodbasket", foodbasketRouter);

app.get( "/", ( request, response ) => {
response.send("All Good!");
} );

app.listen( port, () => {
console.log(`Server Started on http://localhost:${port}`);
} );< /code>
< /div>
< /div>
< /p>
Это мой "foodbasketrout.js" file. < /p>


import express from "express";
import { addTofoodbasket, removeFromfoodbasket, showFoodbasket } from "../controllers/foodbasketController.js";
import authMiddleware from "../middleware/auth.js";

const foodbasketRouter = express.Router();

foodbasketRouter.post("/addtofoodbasket", authMiddleware, addTofoodbasket);
foodbasketRouter.post("/removefromfoodbasket", authMiddleware, removeFromfoodbasket);
foodbasketRouter.post("/showfoodbasket", authMiddleware, showFoodbasket);

export default foodbasketRouter;< /code>
< /div>
< /div>
< /p>
Это мой "foodbasketController.js" Файл. < /p>


import User from "../models/User.js";

//! show customer foodbasket
const showFoodbasket = async (request, response) => {
try {
let userData = await User.findById(request.body.userId);

let foodbasket = await userData.foodbasket;

response.json({success: true, foodbasket});
} catch (error) {
console.log(error);
response.json({success: false, message: "Error Occured!"});
}
};

export { addTofoodbasket, removeFromfoodbasket, showFoodbasket};< /code>
< /div>
< /div>
< /p>
Это мой «auth.js».import jwt from "jsonwebtoken";

const authMiddleware = async (request, response, next) => {
const {token} = request.headers;

if (!token) {
return response.json( {success: false, message: "Not Authorized! Please Login"} );
}

try {
const tokenDecode = jwt.verify(token, process.env.JWT_SECRET);
request.body.userId = tokenDecode.id;
next();
} catch (error) {
console.log(error);
response.json( {success: false, message: "Error! Authentication Failed!"} );
}
};

export default authMiddleware;


Это url: "http: // localhost: 4000/api/foodbasket/showfoodbasket". Выбрасывает эту ошибку "TypeError: не может установить свойства неопределенного (настройка" userId ') на Authmiddleware ".

Подробнее здесь: https://stackoverflow.com/questions/796 ... -undefined
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»