2014-11-25 4 views
0

Привет, у меня есть сценарий, когда я буду использовать URL-адрес с помощью ajax-вызова, чтобы получить данные с сервера. Запрос AJAX будет отправляться с дополнительными заголовками, такими как токен, который я получу после успешного входа в систему, но в моем случае мне нужно получить данные только тогда, когда есть какие-либо изменения на стороне сервера. Я не хочу делать ajax-вызов с помощью setTimeout или setInterval. Для этого я наткнулся на следующий сценарий-х:Как получить данные об изменении сервера с помощью ajax-вызова

1) Выполнение вызова с WebSockets [вопрос: Не в состоянии добавить дополнительные заголовки].

2) События на стороне сервера [вопрос: нет поддержки для версий].

3) Разъем И.О. [Таким образом, это возможно, но если нет других вариантов не там, то я пойду с этим, потому что сейчас я новичок в узел развития и я ДНТ хочу провести свой файл сервера в Текущее время].

Так что если есть какой-либо другой способ, пожалуйста, дайте мне знать, это будет очень полезно.

Любой контент, который я упомянул неправильно, исправьте меня.

Спасибо.

ответ

0

Socket.io - это просто библиотека, которая использует WebSockets или AJAX внутренне.

Вы можете использовать WebSocket и отправлять токен в виде сообщения. Или установите печенье во время процесса входа и повторного подключения WebSocket с момента подключения WebSocket будет нести печенье при повторном подключении

Посмотрите на эту статью: https://devcenter.heroku.com/articles/websocket-security#authentication-authorization

+0

Прямая на пути у сказал, но я не смог подключиться , Можете ли вы, пожалуйста, пройти мою ссылку на скрипку и исправить меня, если я ошибаюсь. http://jsfiddle.net/7kb9gh24/ –

+0

Проверьте http://jsfiddle.net/jq50s60u/1/. Вы не можете устанавливать файлы cookie в другом домене. Поэтому, если веб-страница находится в другом домене, чем сервер websocket, cookie не будет отправлен. Если сервер, который регистрирует вас, возвращает cookie, а сервер websocket находится в том же домене, что и сервер входа, он будет отправлен. В этом примере вы не можете установить cookie в jsfiddle.net, а затем ожидать, что он будет отправлен на echo.websocket.org. – vtortola

+0

Понял, но мой фактический сценарий - я пытаюсь разработать расширение браузера, где я буду показывать уведомления. Я попытался отправить токен в сообщении, но не смог подключиться. Инициирование websocket он сам получает «HTTP Authentication failed», то как он пойдет в onopen, чтобы принять токен. –

Смежные вопросы