快速会话不保存会话

时间:2020-03-20 13:44:48

标签: javascript reactjs express express-session

我一直在尝试从我的React-app向我的Express服务器发出一个发布请求,该请求将订单保存在会话中,但是会话未保存我要添加到其中的元素。我的目标是,每次客户提交他的订单时,快速会话都会保存它,并且当已经有另一个订单待处理时,它不会让客户提交另一个订单。

这是会话设置:

import React, { useState } from "react";
const UserDetails = ({ navigation }) => {
  // Here i make a state
  const [selecthostingOption, setselecthostingOption] = useState([]);
  const hostingChange = e => {
    e.preventDefault();
    console.log(e.target.value);
    setselecthostingOption(e.target.value);
  };
  return (
    <>
      <button onClick={hostingChange} name="selecthostingOption" value="1">
        Value 1
      </button>
      <button onClick={hostingChange} name="selecthostingOption" value="2">
        Value 2
      </button>
    </>
  );
};
export default UserDetails;

如您所见,这是用于快速会话的简单设置。

这是路由器请求处理程序:

app.set("trust proxy", 1); // trust first proxy
app.use(
  session({
    secret: secret,
    cookie: {
      maxAge: 7200000,
      secure: false,
      saveUninitialized: true,
      resave: true
    }
  })
);

如您所见,客户端是否提交了订单并且router.post("/neworder", (req, res) => { console.log(req.session); if (!req.session.order) { console.log("Order not made yet."); let order_Track = uuid(); let time_Purchased = moment(Date.now()).format("MMMM Do YYYY, h:mm:ss a"); //SQL Query let q = `INSERT INTO orders ( Order_Track ,time_created, LastName, FirstName, Adress, Amount, Toppings) VALUES ('${order_Track}' ,'${time_Purchased}' , '${req.body.lastName}','${req.body.firstName}', '${req.body.adress}', '${req.body.amount}', "${req.body.firstTopping}, ${req.body.secondTopping}" ); `; connection.query(q, function(error, results, fields) { if (error) throw error; }); req.session.order = { orderTrack: order_Track, time_Purchased }; req.session.save(); res.status(200).send({ order_Track, time_Purchased }); } else { console.log("Order placed already"); res.status(401).send({ msg: "Order is already placed." }); } }); 不存在,会话将向其自身添加“ order”元素,因此客户端下次尝试提交服务器状态将为401,并且将发送的消息是“已下订单”。

我尝试使用req.session.order,并且还尝试将请求发送到主索引和路由器。仍然无法正常工作。在重定向页面后,会话被删除了。

我想念什么?也许是Cors?

0 个答案:

没有答案