【发布时间】:2022-08-18 17:49:19
【问题描述】:
我不确定为什么会收到此错误。每当我尝试在我的电子商务项目网站上下订单时。我收到这个错误。
:5000/api/order:1
Failed to load resource: the server responded with a status of 500 (Internal Server Error)
code: \"ERR_BAD_RESPONSE\"
config: {transitional: {…}, transformRequest: Array(1), transformResponse: Array(1), timeout: 0, adapter: ƒ, …}
message: \"Request failed with status code 500\"
name: \"AxiosError\"
request: XMLHttpRequest {onreadystatechange: null, readyState: 4, timeout: 0, withCredentials: false, upload: XMLHttpRequestUpload, …}
response:
config: {transitional: {…}, transformRequest: Array(1), transformResponse: Array(1), timeout: 0, adapter: ƒ, …}
data: {index: 0, code: 11000, keyPattern: {…}, keyValue: {…}}
headers: {content-length: \'123\', content-type: \'application/json; charset=utf-8\'}
request: XMLHttpRequest {onreadystatechange: null, readyState: 4, timeout: 0, withCredentials: false, upload: XMLHttpRequestUpload, …}
status: 500
statusText: \"Internal Server Error\"
[[Prototype]]: Object
[[Prototype]]: Error
这是我的 useEffect 请求。
useEffect(() => {
const createOrder = async () => {
try {
const res = await userRequest.post(\'/order\', {
username: currentUser.username,
products: cart?.products.map((item) => ({
productId: item._id,
quantity: item._quantity,
})),
amount: cart?.total,
address: \"India\",
pincode: \"110046\",
phone: \"1234567890\",
email: \"johndoe@xyz.com\",
shippingPrice: \"120\",
reference: orderNo,
paymentMethod: \"Cash on delivery\",
status: \"pending\"
})
} catch (error) {
console.log(error)
}
}
createOrder()
}, [cart, currentUser])
这是 userRequest 函数。
const user = JSON.parse(localStorage.getItem(\"persist:root\"))?.user;
const currentUser = user && JSON.parse(user).currentUser;
const TOKEN = currentUser?.accessToken;
const BASE_URL = \"http://localhost:5000/api/\";
export const userRequest = axios.create({
baseURL: BASE_URL,
headers: { token: `Bearer ${TOKEN}` },
});
这是我添加订单的 API。当我在邮递员上尝试时,它工作正常,但每当我在项目上尝试时,它都会给我一个错误。
const router = require(\"express\").Router();
router.post(\"/\", verifyToken, async (req, res) => {
const newOrder = new Order(req.body);
try {
const savedOrder = await newOrder.save();
res.status(200).json(savedOrder);
} catch (err) {
res.status(500).json(err);
}
});
这是订单模式。
const mongoose = require(\"mongoose\");
const OrderSchema = new mongoose.Schema(
{
username: { type: String, required: true },
email: { type: String },
phone: { type: Number, required: true },
products: [
{
productId: {
type: String
},
quantity: {
type: Number,
default: 1,
},
},
],
amount: { type: Number, required: true },
shippingPrice: { type: Number, required: true },
address: { type: String, required: true },
pincode: { type: Number, required: true },
status: { type: String, default: \"pending\" },
trackingId: { type: String },
paymentMethod: { type: String, default: \"Cash On Delivery\" },
reference: { type: String, unique: true },
},
{ timestamps: true }
);
-
“500 Internal Server Error”是一个通用状态码,不是应该向任何外部方提供大量信息;你需要去检查错误日志并找出实际的原因首先是。
-
我添加了错误日志,我只是无法理解导致错误响应的原因。
-
这只是客户端部分的日志——它仍然告诉我们不多,比那发生了 500 次。你需要去检查你的错误日志服务器端代码部分。
-
您是否尝试读取数据?
data: {index: 0, code: 11000, keyPattern: {…}, keyValue: {…}} -
我在服务器的控制台中没有收到任何错误。我以前得到过,但现在它不来了。
标签: javascript node.js reactjs