如何解决没有 cors 配置不适用于 json-server
我正在使用 json-server 创建我的实际 API 的模拟 API,用于离线测试。
我可以在他们的 Url 端点下看到模拟 API 响应:
localhost:5001/api/searchresults/*
但在我的应用程序上我看不到结果,因为请求被 CORS 阻止。
阅读 json-server 文档,有一种方法可以禁用 CORS 问题,添加 jsonServer.defaults({ noCors: true })
作为中间件。
我添加了一个自定义服务器并使用 node server.js 运行它
// server.js
const jsonServer = require('json-server')
const server = jsonServer.create()
const router = jsonServer.router('db.json')
const middlewares = jsonServer.defaults({ noCors: true })
server.use(middlewares)
server.use('/api/searchresults',router)
server.listen(5001,() => {
console.log('Mock api server listening at localhost:5001')
})
但不幸的是,我在尝试获取我的数据时仍然遇到 cors 问题。
有人知道为什么不工作或如何解决这个问题吗?
这是完整的项目:https://github.com/ElliotForWater/efw-webapp
解决方法
因为 json-server 包似乎不再维护了 https://github.com/typicode/json-server/issues/1219 我想出了一种方法来解决它只用 Express
server.use((req,res,next) => {
res.header('Access-Control-Allow-Origin','http://localhost:3000')
res.header('Access-Control-Allow-Headers','*')
next()
})
添加这些行对我们有用 希望能帮到其他遇到类似情况的人
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。