javascript - Uncaught (in promise) SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data
问题描述
我正在使用 MERN 堆栈和 Redux,当我尝试从 MongoDb 获取数据时,我不断收到错误“未捕获(承诺中)语法错误:JSON.parse:JSON 数据的第 1 行第 1 列的意外字符”我已经尝试了一切并且无法弄清楚是什么原因造成的。谁能看到我错过了什么?我对此真的很陌生,所以请放轻松。:) 我尝试使用来自外部 JSON 占位符 URL 的数据,并且一切都按预期进行,但是当我切换到我自己的数据时它不起作用。
My action is:
export const fetchSubjects = () => (dispatch) => {
console.log("fetching called");
fetch("/api/subjects/Subject")
.then((res) => res.json())
.then((subjects) =>
dispatch({
type: FETCH_SUBJECTS,
subjects: subjects,
})
);
};
My model is:
const mongoose = require("mongoose");
const Schema = mongoose.Schema;
const SubjectSchema = new Schema({
title: {
type: String,
required: true,
unique: true,
},
summary: {
type: String,
required: true,
},
description: {
type: String,
required: true,
},
rating: {
type: Number,
default: 0,
},
author: {
type: mongoose.ObjectId,
default: this.users,
},
comments: [mongoose.ObjectId],
date: {
type: Date,
default: Date.now,
},
});
module.exports = mongoose.model("subjects", SubjectSchema);
My api is:
const express = require("express");
const subjectRouter = express.Router();
const validateSubjectInput = require("../../validation/subjectVal");
const Subject = require("../../models/Subject");
subjectRouter.post("/subject", (req, res) => {
// Form validation
const { errors, isValid } = validateSubjectInput(req.body);
if (!isValid) {
console.log("Hitting");
return res.status(400).json(errors);
}
Subject.findOne({ title: req.body.title }).then((subject) => {
if (subject) {
return res.status(400).json({ title: "Title already exists" });
} else {
const newSubject = new Subject({
title: req.body.title,
summary: req.body.summary,
description: req.body.description,
});
newSubject
.save()
.then((subject) => res.json(subject))
.catch((err) => console.log(err));
}
});
});
module.exports = subjectRouter;
解决方案
推荐阅读
- c# - 使用类型参数保存操作的集合 - 无法转换 IEnumerable
到 IEnumerable - javascript - 任何可以模拟 xbox 控制器输入的 node.js 包?包装 ScpDriverInterface dll 失败:/
- adaptive-cards - 发送窗口高度宽度,工具栏=0 menubar=0 在 webex 自适应卡片的 url 中
- sql - SQL - 查找特定组的最小值并提供有关它的扩展信息
- bit-manipulation - 位移如何反转这个无符号短整数
- jquery - jquery 速记 - 让多个选择器匹配各自的 div
- sql - 此 WHERE 子句未返回任何数据
- java - 如何一次将多个整数放入 ArrayList
- angular - 从等于 HttpClient.subscribe Rxjs Angular 的变量中获取最后一个数据
- python - 从 Python 中的字典中获取平均值