如何在 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 上添加标头?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 json-server 请求中找到 request.headers?

如何将数据添加到 json-server 数据库中

如何在只有标头的网站上添加页脚类型文本?

使用改造向请求添加标头时如何避免在主线程上等待?

如何使用 json-server 保存时间戳?

如何在 Tomcat web.xml 中添加标头?