gpt4 book ai didi

javascript - ReactJS 和 Node.JS [JSON.parse : unexpected character at line 1 column 1 of the JSON data]

转载 作者:行者123 更新时间:2023-12-02 22:58:46 27 4
gpt4 key购买 nike

我在处理这段代码时遇到了困难,所以我需要第三只眼睛来寻找解决方案。

我正在使用 Node.JS (Express) 开发带有 REST API 的 ReactJS 应用程序,但收到此错误:

SyntaxError: "JSON.parse: unexpected character at line 1 column 1 of the JSON data"

我正在使用Sequelize ORM在 Node.JS 中使用模型和数据库。我还在 Node.JS 中使用 CORS 模块。

这个实现工作正常。

// Node.js Route for login
const router = require('express').Router();
const User = require('user');
router.post("/login", async (req, res) => {
try {
await User.findOne({
where: {
email: req.body.email,
password: req.body.password,
}
}).then((user) => {
if (!user) {
return res.send({message: "Login error!"});
} else {
const userData = {id: user.id, email: user.email};
res.send({"user": userData});
}
}).catch((err) => {
return res.send(err);
});
} catch (err) {
return res.send(err);
}
});
// ReactJS for login
loginFunction(e, data) {
e.preventDefault();
fetch('http://localhost:4500/login', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(data)
})
.then(response => response.json())
.then(json => {
this.setState({'user': json['user']});
})
.catch((err) => {
console.log(err);
this.setState({errors: "Login error"})
});
}

另一方面,这个实现无法正常工作并抛出上面的SyntaxError:

// Node.JS for Posts
const router = require('express').Router();
const Post = require('post');
router.get("/posts", async (req, res) => {
try {
await Post.findAndCountAll()
.then((posts) => {
res.send({"posts": posts});
}).catch((err) => {
return res.send(err);
});
} catch (err) {
return res.send(err);
}
});
// ReactJS for Posts
postsFunction() {
fetch('http://localhost:4500/posts', {
method: 'GET',
headers: {
'Content-Type': 'application/json'
}
})
.then(response => response.json())
.then(json => {
this.setState({'posts': json.posts.rows});
})
.catch((err) => {
console.log(err);
this.setState({errors: "Posts error."})
});
}

正如您所看到的,两种实现几乎没有什么区别,我缺少什么?

PS:当我在 Postman 上测试第二个实现时,数据检索成功。

最佳答案

尝试在使用 GET 方法时删除 header

headers: {
'Content-Type': 'application/json'
}

关于javascript - ReactJS 和 Node.JS [JSON.parse : unexpected character at line 1 column 1 of the JSON data],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57863669/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com