从angular2到后端发布请求

时间:2017-03-29 09:27:51

标签: angular

我尝试将请求从前端(angular2)发送到后端(ruby,sinatra)。 现在,两个服务器都在一台计算机上工作(localhost:3001上的角度,localhost上的sinatra:9292)

我使用auth示例(http://embed.plnkr.co/TIPmK3/?show=preview),并希望将用户数据发送到sinatra。

我在app/_services/authentication.service.ts中看到了有趣的字符串:

return this.http.post('/api/authenticate', JSON.stringify({ username: username, password: password }))
            .map((response: Response) => {...}

但如果在'/api/authenticate'上替换http://localhost:9292/login则不会发生任何事情。请求未发送,没有错误。只加载。

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

请您提供更多详情?

但根据你的问题: 大多数情况下,问题将是" Cross-Origin Request" ,

因此,请检查是否为此设置了标题,

我在后端使用Angular(localhost:3000)和Node(192.168.2.117:4000), 我们遇到了同样的问题,所以我们在节点

中设置了标题
   res.setHeader('Access-Control-Allow-Origin','*');
   res.setHeader('content-type','application/json');
   res.setHeader("Access-Control-Allow-Headers", "Content-Type, Access-Control-Allow-Headers, Token, Timestamp, X-Requested-With, Language-Code"); 

在那之后,它就像魅力一样。