问题描述
我使用node和socket.io来编写聊天应用程序。它在Chrome上正常工作,但mozilla发出错误,以启用跨源请求。
I'm using node and socket.io to write a chat application. It works fine on Chrome but mozilla gives an error to enable the Cross-Origin Requests.
这是我的代码启动节点服务器。 >
Here's my code to start node server.
var express = require('express'),
app = express(),
server = require('http').createServer(app),
io = require('socket.io').listen(server),
path = require('path');
server.listen(3000);
app.get('/', function(req, res) {
res.sendfile(__dirname + '/public/index.html');
});
在客户端。
var socket = io.connect('//waleedahmad.kd.io:3000/');
HTML页面上的脚本标记。
Script tag on HTML page.
<script type="text/javascript" src="//waleedahmad.kd.io:3000/socket.io/socket.io.js"></script>
我也在应用程序根目录下使用.htaccess文件。 (waleedahmad.kd.io/node)。
I'm also using .htaccess file in the app root directory. (waleedahmad.kd.io/node).
Header add Access-Control-Allow-Origin "*"
Header add Access-Control-Allow-Headers "origin, x-requested-with, content-type"
Header add Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS"
推荐答案
您可以尝试设置 c $ c>选项在服务器端允许跨源请求:
You can try to set origins
option on the server side to allow cross-origin requests:
io.set('origins', 'http://yourdomain.com:80');
这里 http://yourdomain.com:80
是您要允许请求的来源。
Here http://yourdomain.com:80
is the origin you want to allow requests from.
您可以阅读更多关于 origins
=http://stackoverflow.com/a/21711242/2600208>这里
You can read more about origins
format here
这篇关于Socket.io + Node.js跨源请求被阻止的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!