Javascript node.js https跨源请求

Javascript node.js https跨源请求,javascript,ajax,node.js,https,cross-domain,Javascript,Ajax,Node.js,Https,Cross Domain,我向node.js上设置的HTTPS服务器发出请求,如下所示,我得到: 请求的资源上没有“Access Control Allow Origin”标头。因此,不允许访问源“”。响应的HTTP状态代码为502。'错误 我没有正确设置标题吗?当我将console.log放在回调的开头时,服务器上没有指示尝试了请求。我尝试的其他方法是在writeHead(statusCode,{here go them headers})中设置标题 var server = https.createServer(op

我向node.js上设置的HTTPS服务器发出请求,如下所示,我得到:

请求的资源上没有“Access Control Allow Origin”标头。因此,不允许访问源“”。响应的HTTP状态代码为502。'错误

我没有正确设置标题吗?当我将
console.log
放在回调的开头时,服务器上没有指示尝试了请求。我尝试的其他方法是在writeHead(statusCode,{here go them headers})中设置标题

var server = https.createServer(options, function(req, res) {
    res.setHeader('Access-Control-Allow-Origin', 'https://ku6sn0zj.apps.lair.io'); // client address
    res.setHeader('Access-Control-Allow-Methods', 'POST');
    res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With, content-type');
    res.setHeader('Access-Control-Allow-Credentials', true);
    if (req.method == 'POST') {
        req.on('data', function(data) {
            data = data + '';
            data = data.split('&');
            if(data[0].slice(7) == 'login'){
                var credentials = {};
                credentials.username = data[1].slice(9);
                credentials.password = data[2].slice(9);
                game.foo(credentials.username, credentials.password, function(err, response) {
                    if (err) {
                        console.log(err);
                    } else if (response === true) { //password match
                        var token = foo()
                        res.writeHead(200);
                        res.end(token);
事情还在继续,但并不那么重要。 现在,我使用AJAX从node express应用程序发送一个请求,如下所示:

$.ajax({
            type: "POST",
            url: 'https://94jzlodc.apps.lair.io', //server address
            data: {
                action: 'login',
                username: $("#username").val(),
                password: $("#password").val()
            },
            statusCode: {*here comes response handling*}
})
http服务器侦听端口8000, 而express应用程序的默认值为3000


这些是标题。在应用程序设置中不指定端口是我获取响应头的唯一方法。

收到请求时,您会看到哪些响应头?我更新了帖子,不确定您是否从中获得了备忘录。我将非常感谢您的帮助。“删除答案”评论中的一个家伙建议在sourcelair基础设施中可能存在代理集成。我是否应该询问他们对此的支持?