Safari阻止对Express API的CORS请求
Safari blocks CORS request to Express API
我有一个简单的节点/快递服务器,我将其用作AngularJS应用程序的API。它在localhost:8080
上运行
let express = require('express');
...
let cors = require('cors');
...
let app = express();
app.use(cors());
let port = Number(process.env.PORT || 8080);
...
app.use('/api', require('./routes'));
app.use('*', (req, res) => res.sendStatus(httpStatus[404]).end());
app.listen(port, () => logger.info("✔ Listening on port " + port));
非常基本的东西。CCD_ 2应该允许来自任何具有方法CCD_ 3的来源的请求。
我在localhost:3000
上的Angular应用程序只需向我的服务器发出GET
请求,该服务器在Firefox和Chrome上运行良好,但仅在Safari上提供以下内容:
XMLHttpRequest cannot load http://localhost:8080/api/drawings/all. Origin http://localhost:3000 is not allowed by Access-Control-Allow-Origin.
我认为CORS完全由服务器处理,不应该存在跨浏览器的问题。我读到Safari在这方面更严格,但我想确保我的用户不必为了让网站正常工作而改变他们的偏好。即使在Safari的开发人员控制台中,检查"禁用跨来源限制"对我也没有任何帮助
我的服务器记录请求,并返回200
状态。
清除Safari的缓存解决了这个问题。
相关文章:
- 向localhost发出带有grunt的代理CORS请求
- Node.js cors请求-异步示例不起作用
- 是 CORS 请求,预检耗时
- Pingfederate opentoken模块CORS请求返回302,而不是200
- 在JQuery中启用CORS后,CORS请求被阻止
- 从CORS请求中捕获异步异常
- 无法在 jquery 中获取 Ajax CORS 请求以工作
- 将 CORS 请求发布到运行 sailsjs 的 HTTPS 域
- 授权标头仅在 AJAX CORS 请求中追加一次
- 使用 jQuery 的 CORS 请求 - $.ajax()
- 尝试处理 CORS 请求时出现 ParseError
- Firefox 不允许 CORS 请求,即使服务器返回了相应的响应标头
- CORS 请求与 Safari 一起工作
- IE11未启动CORS请求
- Safari阻止对Express API的CORS请求
- AngularJS不允许CORS请求
- CORS请求处于反应状态
- 为什么此CORS请求失败
- CORS请求结构很难理解,你能帮我解释一下吗
- 如何使用XMLHttpRequest发出CORS请求