Я создаю небольшое приложение, чтобы проверить, как работает API канала GAE. Я думаю, что я сделал все, как описано в документации, но когда я его запускаю, в журнале ошибок FireFox вначале отображается ошибка о синтаксисе, а затем еще одна повторяющаяся ошибка, что элемент не найден.
Вот первая информация об ошибке:
Source: http://127.0.0.1:8080/_ah/channel/dev?command=connect&channel=channel-773698929-185804764220139124118
Line 1, symbol 1
Вот URL-адрес, где мой код JavaScript пытается повторно подключиться, и возникает вторая ошибка:
http://127.0.0.1:8080/_ah/channel/dev?command=poll&channel=channel-2071442473-185804764220139124118&client=1
Я получаю токен через JSON-запрос с jQuery $.get
. Затем я запускаю этот код, чтобы получить токен и открыть канал. Ошибка начинает отображаться только тогда, когда я запускаю socket = channel.open(handler)
:
var response = JSON.parse(data);
var token = response.token.toString();
channel = new goog.appengine.Channel(token);
var handler = {
'onopen': onOpened,
'onmessage': onMessage,
'onerror': function() {
},
'onclose': function() {
}
};
socket = channel.open(handler);
Вот код на стороне сервера в Python для открытия канала:
class OpenChannel(webapp.RequestHandler):
def get(self):
user = users.get_current_user()
token = channel.create_channel(user.user_id())
serialized = json.dumps({'token': token})
self.response.headers['Content-Type'] = "application/json"
self.response.out.write(serialized)
В чем моя ошибка и что я могу сделать? Спасибо!