var allowCrossDomain = function(req, res, next) {
res.header('Access-Control-Allow-Origin', req.headers.origin);
res.setHeader("Access-Control-Allow-Credentials", "true");
res.setHeader("Access-Control-Allow-Methods", "GET,HEAD,OPTIONS,POST,PUT");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, Authorization");
next();
}
app.use(allowCrossDomain);
import axios from 'axios'
export default axios.create({
baseURL: 'https://example.com',
timeout: 5000,
headers: {
'Authorization': 'Bearer ' + accessToken
}
})
请求头字段access-control-allow-headers本身在飞行前响应中是不允许的
问题中的代码显然没有导致access-control-allog-headers
标头为选项
响应而被发送,特别是为对CORS preflight选项
的响应而发送。
为了确保正确处理预置选项
,请考虑安装npmcors
包:
npm install cors
然后做这样的事情:
var express = require('express')
, cors = require('cors')
, app = express();
app.options('*', cors()); // preflight OPTIONS; put before other routes
问题内容: 我正在尝试使用发布请求将文件发送到服务器,但是在发送请求时会导致错误: Access-Control-Allow-Headers不允许请求标头字段Content-Type。 所以我搜索了错误并添加了标题: 然后我得到错误: Access-Control-Allow-Headers不允许请求标头字段Access-Control-Allow-Origin 所以我用谷歌搜索,唯一能找到的类似
我正在尝试将文件发送到我的服务器,并发送post请求,但当它发送时会导致错误: Access-Control-Allow-Headers不允许请求标头字段Content-Type。 所以我搜索了这个错误并添加了标题: 然后我得到错误:
问题内容: 我正在尝试从跨域制作登录页面,但无法解决问题,错误是: XMLHttpRequest无法加载http://localhost/testing/resp.php。在飞行前响应中,Access- Control-Allow-Headers不允许请求标头字段Access-Control-Allow-Headers。 我的Javascript代码是: http://localhost/test
问题内容: 我正在使用 Postman Chrome Extension* 对服务进行 POST ,并且得到了预期的响应。 * 但是,当我使用进行相同的 POST 请求时,一切都会陷入困境。 我得到了: 作为标题。 我不知道为什么Postman可以用,而Chrome不能用… 有任何想法吗? 问题答案: 问题是由于缺少请求标头。要解决此问题,我们需要添加到请求标头中 a添加到。您可以使用在应用程序级
我正试图将请求从一个本地主机端口发送到另一个本地主机端口。我在前端使用angularjs,在后端使用node。
问题内容: 我正在尝试将请求从一个本地主机端口发送到另一个本地主机端口。我 在前端 使用 angularjs,在后端 使用 node 。 由于这是 CORS 请求,因此在node.js中,我正在使用 在angular.js服务文件中,我正在使用 我收到以下错误 请求标头字段在飞行前响应中,Access-Control-Allow-Headers不允许授权。 请帮忙! 问题答案: 您还必须在允许的标