Javascript 否';访问控制允许原点';在ajax请求中,但不是通过单击<;a>;标记链接

Javascript 否';访问控制允许原点';在ajax请求中,但不是通过单击<;a>;标记链接,javascript,ajax,node.js,cors,hapijs,Javascript,Ajax,Node.js,Cors,Hapijs,我正在使用HapiJS和Bell对用户进行身份验证。我有一个端点,负责对用户进行身份验证 server.route({ method: ['POST','GET'], path: '/token', config: { auth: 'twitter', handler: function (request, reply) { reply(request.auth.credentials.profile) }

我正在使用
HapiJS
和Bell对用户进行身份验证。我有一个端点,负责对用户进行身份验证

  server.route({
    method: ['POST','GET'],
    path: '/token',
    config: {
      auth: 'twitter',
      handler: function (request, reply) {

       reply(request.auth.credentials.profile)

      }
    }
  });
当我有一个指向该端点的
标记链接时,一切正常,我会重定向到twitter进行身份验证,然后我会看到
回复。我想要的是通过
ajax
请求来实现,这样我就可以使用
然后
来处理响应

所以我有一些简单的东西:

$.ajax({
  method: 'GET',
  url: 'http://localhost:8001/token'
}).then(function(data){
  console.log('>>>>>>>>>',data);
});

我单击一个按钮并发出请求,但在本例中,我在Chrome
XMLHttpRequest上有以下消息无法加载https://api.twitter.com/oauth/authenticate?oauth_token=TPSmxB22abgI2jC8DvEgUxKOc4ZadsSI. 请求的资源上不存在“Access Control Allow Origin”标头。因此不允许访问源站“null”。
知道如何解决此问题吗?

因为您的会话来自HapiJS/Bell身份验证过程,因此访问localhost会给您带来CORS头问题。您需要在服务器端附加头文件,无论您将节点服务器旋转到何处。

您可以提供一个示例吗?我在文档中找不到相关内容。您无法执行此操作,因为您的服务器正在将请求重定向到Twitter的API,然后该API将重定向回服务器的其他端点。您不能通过XHR执行此操作,因为如果用户未登录Twitter,Twitter将提示他们在最终重定向回您的服务器之前输入凭据,而这是XHR无法完成的。请添加更多详细信息并解释您的答案。
res.header("access-control-allow-origin","client domain including protocol")