我正在编写一个使用Channel API的Python GAE应用程序,除了我在使用开发服务器时在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错误,所以没有堆栈跟踪。
(a)造成这些问题的原因是什么?虽然我的应用程序运行,但这些错误降低了我的信心。
(b)无穷无尽的“无元素发现”消息是一个真正的问题,因为它们很难看到其他JavaScript错误。
我遇到同样问题的one other report,但后续行动无益。
我的配置:Windows 7,Firefox 10.0.2(禁用附加组件),GAE 1.6.2
答案 0 :(得分:1)
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
答案 1 :(得分:-1)
这看起来像SDK中的错误。您可以在此处报告错误:http://code.google.com/p/googleappengine/issues/entry