2014-11-25 65 views
0

嗨,我有一个场景,我将打ajax调用的URL以获取服务器的数据。 AJAX请求将发送额外的头像令牌,我将在成功登录后获得,但我的情况是我只需要在服务器端发生任何更改时才能获取数据。我不想使用setTimeout或setInterval进行ajax调用。为此我遇到以下情况:如何获取服务器更改数据与Ajax调用

1)使用websockets进行呼叫[问题:无法添加额外的 标题]。

2)服务器端事件[问题:不支持ie版本]。

3)插槽IO [这样,它是可能的,但如果没有其他的选项 存在的话,我将与此去,因为现在我是新来节点 发展和我天玑要主持我在服务器上的文件在当前时间]。

所以,如果有任何其他可能的方式,请让我知道这将是非常有益的。

任何地方我提到的内容错误,请纠正我。

谢谢。

回答

0

Socket.io只是一个在内部使用WebSockets或AJAX的库。

您可以使用WebSocket并将令牌作为消息发送。或者,在登录过程中设置cookie并重新连接,因为WebSocket连接将携带饼干WebSocket的重新连接

时看看这篇文章:https://devcenter.heroku.com/articles/websocket-security#authentication-authorization

+0

直接以U说话的方式,但我无法连接。你能否请通过我的小提琴链接,纠正我,如果我做错了。 http://jsfiddle.net/7kb9gh24/ – 2014-11-25 13:24:30

+0

检查http://jsfiddle.net/jq50s60u/1/。您不能在其他域中设置Cookie。因此,如果网页与websocket服务器位于不同的域中,则不会发送该cookie。如果登录你的服务器返回一个cookie,并且websocket服务器与登录服务器位于同一个域中,它将被发送。在这个例子中,你不能在jsfiddle.net中设置一个cookie,然后期望它被发送到echo.websocket.org – vtortola 2014-11-25 13:33:57

+0

了解,但我的实际情况是我想开发一个浏览器扩展,我将显示通知。我尝试在邮件中发送令牌,但无法连接。它启动websocket它自己得到“HTTP身份验证失败”,那么它将如何开始打开为了取得令牌。 – 2014-11-25 13:45:15

相关问题