我正在尝试从Apache上运行的现有应用程序调用Node webservice。它给了我问题,因为应用程序运行在与Node不同的端口上。我做了一些搜索,我能够通过在标题响应中添加一个新属性来实现它:
res.writeHead(200, {
'Content-Type' : 'application/json'
, 'Access-Control-Allow-Origin' : 'http://myHostName:80' // Added this line
});
问题是我有多个生产和测试Apache服务器,我不想对它们进行硬编码。它们都有相同的主机名,但我找不到为端口#做通配符的方法。我从Google获得的是手动匹配主叫主机。如果它匹配,只需将其鹦鹉反击为Access-Control-Allow-Origin。我找到的示例为我调用主机返回null。这是我发现的:
console.log(url.parse(req.url, true).host);
//should return 'myHostName:80', but I get null