本地和远程站点上的Node.js / Socket.io Access-Control-Allow-Origin错误

时间:2013-05-14 23:17:04

标签: javascript node.js socket.io cors

世界! 我正在尝试通过我的node / socket.io服务器向我的客户端获取JSON提要。 我一直在本地或远程获取(使用nodejitsu)是以下错误: XMLHttpRequest无法加载http://jsonfeed.url。 Access-Control-Allow-Origin不允许原点http://example.com

从我的研究和测试来看,它不依赖于我的浏览器,而是依赖于我的服务器代码。请赐教!

服务器代码(我可以提供更多,但试图简明扼要):

var fs = require('fs'),
http = require('http');

//use of a fs and node-static to serve the static files to client

function handler(request, response) {
"use strict";
response.writeHead(200, {
                     'Content-Type': 'text/html',
                     'Access-Control-Allow-Origin' : '*'});
fileServer.serve(request, response); // this will return the correct file
}

var app = http.createServer(handler),
iosocks = require('socket.io').listen(app),
staticserv = require('node-static'); // for serving files

// This will make all the files in the current folder
// accessible from the web
var fileServer = new staticserv.Server('./');
app.listen(8080);

就是这样,我已经尝试了所有的东西......是时候给天才打电话了!

1 个答案:

答案 0 :(得分:0)

好的,我怎么说呢......首先要感谢StackOverflow和那些试图回答的人,那里的冷却时间比以前少了一点,坚持下去。

... THEN 它正在发挥作用。 我不知道为什么,这很烦人。 我所做的只是删除:

response.writeHead(200, {
                 'Content-Type': 'text/html',
                 'Access-Control-Allow-Origin' : '*'});

就像那样。就像它刚开始工作时一样!

奖金问题,有人可以告诉我为什么吗?