Tag: cors

即使我在服务器上允许Cors,Socket.io也给出CORS错误

我的节点服务器和客户端运行在不同的端口(分别为3001,5347)。 在我用过的客户端上, var socket = io('http://127.0.0.1:3001'); 在服务器上,我尝试了一个接一个 1) io.set('origins', '*:*'); 2) io.set('origins', 'http://127.0.0.1:5347'); 3) io.set('origins', '*'); 4) io.set('origins', '127.0.0.1:5347'); 但是我得到以下错误: XMLHttpRequest无法加载http://127.0.0.1:3001/socket.io/?EIO=3&transport=polling&t=1456799439856-4590 。 当凭证标志为真时,通配符“*”不能在“Access-Control-Allow-Origin”头中使用。 原因'null'因此不被允许访问。 注意:我在服务器上使用快递,我已经按以下方式使用了Cors中间件: app.use(cors()); app和cors分别是express和cors的实例。

AS3能够识别头部的CORS权限吗?

我试图从域1使用AS3命中域2运行node.js / express 当我做 var request:URLRequest = new URLRequest(url); request.method = URLRequestMethod.POST; 它试图打到[url]/crossdomain.xml并得到一个404。 在运行express.js的服务器上,它返回CORS的东西,而不是作为一个独立的文件在特定的路线,如下所示: app.use(function(req, res, next) { res.header("Access-Control-Allow-Origin", "*"); res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); next(); }); 有什么我可以做的,除了把CORS文件放在/crossdomain.xml ,这将使AS3能够识别标题中返回的权限?

Angular Fullstack + CORS:XMLHttpRequest无法加载

我一直在这个上拉我的头发。 我用yeoman生成器angular-fullstack在ExpressJS服务器上用Express创build一个小的angular度应用程序。 我正在使用远程服务,所以没有API服务器端调用写在我的应用程序。 厂: var offerServiceURL = "https://www.example.com"; angular.module("services", ['ngResource']) .factory('offerService', function($resource) { return $resource(offerServiceURL+'/offers/service/:action/:param1', { action: '@action' }, { getOfferEligibility : { method: 'POST', params: {action:'get-offer-eligibility'} } }); }); 控制器: angular.module('myApp') .controller('myCtrl', function($scope, offerService){ offerService.getOfferEligibility($scope.user, function(data){ if(data.status == "SUCCESS"){ …. } }) }) 铬给我一个一般的错误: XMLHttpRequest无法加载https://example.com/offers/service/get-offer-eligibility 。 请求的资源上没有“Access-Control-Allow-Origin”标题。 Origin'http: //localhost.digitalink.com:9000 '因此是不允许访问的。 请求标题使其成为具有正确信息的选项: 请求方法:OPTIONS状态码:200 OK响应头视图源Access-Control-Allow-Credentials:true Access-Control-Allow-Headers:内容typesAccess-Control-Allow-Methods:GET,POST,OPTIONS访问控制 […]

Express / NodeJS上的CORS问题,在Internet Explorer中不可用的服务

我有一个基于REST的服务写在Express / NodeJS上。 我已经编写了CORS(跨源资源共享)实现代码。 和服务可以从浏览器,如铬,Firefox等消耗..但不是从Internet Explorer,(我使用IE9,我检查了IE浏览器IE-10,CORS错误信息仍然存在于控制台中) CODE FROM routes.js节点服务器端的文件 var config = require('./config.js'); exports.setup = function (params) { var controllers = params.controllers; var app = params.app; // CORS (Cross Origin Resource Sharing) Implementation app.all('/*', function(req, res, next) { res.header("Access-Control-Allow-Credentials", config.responseSettings.AccessControlAllowCredentials); res.header("Access-Control-Allow-Origin", (req.headers.origin) ? req.headers.origin : config.responseSettings.AccessControlAllowOrigin); res.header("Access-Control-Allow-Headers", (req.headers['access-control-request-headers']) ? req.headers['access-control-request-headers'] : "x-requested-with"); res.header("Access-Control-Allow-Methods", (req.headers['access-control-request-method']) ? […]

CORS与socket.io

我在使用express.io的node.js应用程序的CORS上遇到了问题。 我是远程托pipe的socket.io客户端JS,因为这需要作为一个远程应用程序。 <script src="resources/js/socket.io.min.js"></script> 它在OpenShift上托pipe server.js: var ipaddr = process.env.OPENSHIFT_NODEJS_IP || "localhost"; var port = process.env.OPENSHIFT_NODEJS_PORT || 8080; var express = require('express.io'); // magical express.io var app = express(); // Enables CORS var enableCORS = function(req, res, next) { res.header('Access-Control-Allow-Origin', '*'); res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS'); res.header('Access-Control-Allow-Headers', 'Content-Type, Authorization, Content-Length, X-Requested-With, *'); // intercept OPTIONS method if ('OPTIONS' […]

Angularjs + nodejs +护照跨域请求

我正在使用护照与Facebook战略进行身份validation。 问题不在于nodejs的后端,因为我已经testing了没有angularjs,一切正常,但每当angularjs进场,我会得到CORS错误。 Access-Control-Allow-Origin标题出现在请求的资源上。 起源host:8000因此不被允许访问。 我已经尝试了通过谷歌发现的大部分解决scheme,但到目前为止还没有真正起作用。 有没有人有一个想法可能是错的? 就我所知,这是通常对这类问题最常见的答案。 site.config(function($httpProvider) { $httpProvider.defaults.useXDomain = true; delete $httpProvider.defaults.headers.common['X-Requested-With']; }); 就像我说的,这不是nodejs错误。

CORS无法在Firefox中运行

我试图得到一个简单的例子与MEAN堆栈工作,我注意到我的DELETE请求在Firefox中不起作用。 我相信这是由于CORS。 当我点击一个链接提交DELETE请求与angularJS到我的ExpressJS后端,我看到一个GET请求被首先调用,然后调用实际的DELETE请求,但DELETE请求永远不会结束。 这一切似乎工作在Chrome没有问题。 没有意外的GET请求调用,DELETE请求实际上完成。 我怎样才能使这个工作在Firefox? 快递部分为Cors: // CORS Stuff in app.js app.all('*', function (req, res, next) { res.header("Access-Control-Allow-Origin", "*"); res.header("Access-Control-Allow-Headers", "X-Requested-With, Content-Type, Authorization, Content-Length"); res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS'); if(req.method == 'OPTIONS') { res.send(204); //next(); } else { next(); } //res.send(200); }); app.get('/notes', note.get(db)); app.post('/notes', note.create(db)); app.put('/notes/:id', note.update(db)); app.delete('/notes/:id', note.delete(db)); 然后我有这个note.js文件 exports.delete = function(db) { return function(req, […]

CORS头在MEAN堆栈应用程序中不起作用

我正在开发使用MEAN堆栈(Node.js,Express,AngularJS和Mongoose)的应用程序。 我对这两者有一个基本的了解。 我的API运行在与我前端不同的端口上,因此,我在我的API文件中包含了CORS头文件。 不过,Chrome仍然给我这个错误: XMLHttpRequest cannot load http://localhost:9000/#/. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access. 这是我在API中包含的头文件: app.all('*', function(req, res, next) { res.header("Access-Control-Allow-Origin", "*"); res.header("Access-Control-Allow-Headers", "X-Requested-With"); next(); }); 我不知道我哪里错了。 如果它有帮助,我试图加载一个用户对象,以便在个人资料页面上显示信息。 这是我的configuration文件控制器的代码: angular.module('angTestApp') .controller('ProfileCtrl', function ($scope, $http) { $http.get('http://localhost:8080/profile') .success(function (user) { $scope.user = user; console.log(user); }); }); […]

CORS预检请求的奇怪问题在IE 11上失败

问题是,IE11上的POST查询失败,在所有其他浏览器似乎工作。 让我们一步步描述问题: 从应用程序到REST API的XHR请求。 预检选项请求(请求参数如下) Accept: */* Origin: https://app.example.com Access-Control-Request-Method: POST Access-Control-Request-Headers content-type, accept : Accept-Encoding: gzip, deflate User-Agent: Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko Host: api.example.com Content-Length: 0 Connection: Keep-Alive Cache-Control: no-cache 预检请求响应参数是: X-Powered-By: Sugar Access-Control-Allow-Origin: https://app.example.com Vary: Origin Access-Control-Allow-Credentia true ls: Access-Control-Allow-Methods: GET,POST,DELETE,OPTIONS Access-Control-Allow-Headers: X-Requested-With,X-HTTP-Method-Override,Content-Type,Accept set-cookie: sugar.sid=s%Pb9OoTTPUkVw%2F2vUPoFMNG LMXACSkQevo; Path=/; Expires=Thu, 15 […]

跨源请求阻塞socket.io firefox

我在Firefox中收到以下错误 “跨源请求被阻止: 同源策略不允许读取http://localhost/socket.io/?EIO = 3&transport = polling&t = 1422586440181-21的远程资源,这可以通过将资源移动到相同的域或启用CORS“。 我检查了这些其他堆栈溢出问题,但没有成功。 另外请注意,最新的socket.io中不支持io.set,而我在服务器configuration上的尝试失败了。 Socket.io + Node.js跨域请求被阻止 如何设置socket.io起源限制连接到一个url 如何在Firefox上启用CORS? 我已经尝试将这些语句添加到我的服务器: io.origins('http://localhost:3002') app.use(function(req, res, next) { res.header("Access-Control-Allow-Origin", "*"); res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); next();