Ошибки JavaScript при использовании Channel API Google App Engine и сервера разработки

Я пишу приложение Python GAE, которое использует API канала, и все работает нормально, за исключением того, что я получаю нефатальные ошибки браузера в консоли ошибок Firefox при использовании сервера разработки. По сути, это одно и то же для каждого приложения Channel API, поэтому я покажу, что я вижу, на образце приложения Channel Tac Toe.

Он начинается с синтаксической ошибки, где отображаемый исходный код всегда представляет собой просто цифру «1»:

Error: syntax error
Source File: http://localhost:8080/_ah/channel/dev?command=connect&channel=channel-2053758219-1329727351-185804764220139124118185804764220139124118
Line: 1, Column: 1
Source Code:1

Далее идет ошибка «не правильно сформированная» (только в Channel Tac Toe):

Error: not well-formed
Source File: http://localhost:8080/_ah/channel/dev?command=poll&channel=channel-2053758219-1329727351-185804764220139124118185804764220139124118&client=1
Line: 1, Column: 1
Source Code:{"winner": null, "userX": "185804764220139124118", "moveX": true, "winningBoard": null, "board": "         ", "userO": ""}

Затем я получаю бесконечную серию ошибок «элемент не найден», примерно по три в секунду:

Error: no element found
Source File: http://localhost:8080/_ah/channel/dev?command=poll&channel=channel-2053758219-1329727351-185804764220139124118185804764220139124118&client=1
Line: 1

После этого Channel Tac Toe ведет себя плохо (обе стороны хотят быть X-плеером), хотя мое реальное приложение работает без проблем.

Обратите внимание: поскольку это все ошибки JavaScript, трассировка стека отсутствует.

а) Что вызывает эти проблемы? Хотя мое приложение работает, эти ошибки снижают мою уверенность.

(b) Бесконечные серии сообщений «элемент не найден» — это реальная проблема, поскольку они очень затрудняют просмотр других ошибок JavaScript.

Я наткнулся на еще один отчет о той же проблеме, но следующий: вверх было бесполезно.

Моя конфигурация: Windows 7, Firefox 10.0.2 (надстройки отключены), GAE 1.6.2


person Dragonfly    schedule 20.02.2012    source источник
comment
Что происходит, когда вы пытаетесь сделать это в других браузерах?   -  person allyourcode    schedule 03.04.2012
comment
Я не вижу этих проблем в других браузерах. Смущает однако.   -  person Dragonfly    schedule 16.04.2012


Ответы (2)


FWIW, проблема, по-видимому, вызвана тем, что внутренний механизм опроса Channel API не получает ответы от сервера, которые включают Content-type. В результате, кажется, что Firefox по умолчанию использует тип содержимого ответа как text/xml.

Ошибка «элемент не найден», скорее всего, возникнет, когда Firefox попытается сгенерировать свойство XMLHttpRequest.responseXML[1], потому что тело ответа на самом деле пусто, и корневой элемент XML не найден.

[1] https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest#responseXML

person Nate Whittaker    schedule 21.08.2014

Это похоже на ошибку в SDK. Вы можете сообщать об ошибках здесь: http://code.google.com/p/googleappengine/issues/entry

person allyourcode    schedule 09.05.2012