如何在 json-server 上添加标头?
Posted
技术标签:
【中文标题】如何在 json-server 上添加标头?【英文标题】:How add headers on json-server? 【发布时间】:2018-05-31 02:52:18 【问题描述】:我在不同的服务器上有前端和后端。我需要提出跨域请求。
在localhost:4200
我使用 angular2。在localhost:3000
上,我使用json-server。 Е他的服务器应该给出标题:
Access-Control-Allow-Origin: *
但我不知道如何打开它。
【问题讨论】:
如果只是用于本地开发,最简单的解决方案是像这样的 chrome 扩展(假设您使用的是 chrome):chrome.google.com/webstore/detail/moesif-origin-cors-change/… 这使您可以在不更改客户端或服务器代码的情况下定义 cors。 你链接到的文档说 CORS 默认启用 【参考方案1】:尝试在您的 server.js 文件中添加此代码,此代码将准确启用您的服务器 cors,然后您将能够发送正确的响应。注意你的变量名和端口号,其余的一切都应该是相同的,
var express = require('express'),
app = express(),
port = process.env.PORT || 8080;
app.listen(port);
app.use(function (req, res, next)
res.setHeader('Access-Control-Allow-Origin', '*');
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE');
res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type');
res.setHeader('Access-Control-Allow-Credentials', true);
next();
);
【讨论】:
server.js 文件是否应该包含其他代码?这个 server.js 文件实际上是如何被访问的?我不明白如何让它工作。 是的,它也可以包含其他代码。比如中间件或者express或者其他框架。您可以检查基于 express 的基本项目,看看它是如何进行的以上是关于如何在 json-server 上添加标头?的主要内容,如果未能解决你的问题,请参考以下文章