Ошибки JavaScript при использовании API канала Google App Engine и сервера разработки - PullRequest
5 голосов
/ 20 февраля 2012

Я пишу приложение Python GAE, которое использует Channel 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

Следующая ошибка" не правильно сформирована "(только в канале 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, нет трассировки стека.

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

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

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

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

Ответы [ 2 ]

1 голос
/ 21 августа 2014

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

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

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

0 голосов
/ 10 мая 2012

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

...