채널을 열 때 문제가 있습니다. 이은 (템플릿/index.html을) 나는 모든 것이 작동하는지 확인하는 경고 넣어채널 Google App Engine channel.open()이 작동하지 않습니다.
<html>
<head>
<script type="text/javascript" src="/_ah/channel/jsapi"></script>
</head>
<body>
{{ token }}
<script>alert("a0");
var token = {{ token }};
alert("a1");
var channel = new goog.appengine.Channel(token);
alert("a2");
var socket = channel.open();
alert("a3");
socket.onopen = function(){
alert("open");
};
socket.onmessage = function(m){
var data = $.parseJSON(m.data);
alert(data)
};
socket.onerror = function(err){
alert("Error => "+err.description);
};
socket.onclose = function(){
alert("channel closed");
};
</script>
</body>
</html>
하지만, A0 A1 A2되는 HTML에
def get(self):
user = users.get_current_user()
if not user:
self.redirect(users.create_login_url(self.request.uri))
return
channel_id=str(str(random.randint(0,1000)))
token = channel.create_channel(channel_id)
template_values = {
'token': token,
'me': user.user_id()
}
logger.debug("Token: %s user:%s %s %s" % (token,user.user_id(),user.nickname(),user.email()))
self.response.out.write(template.render('templates/index.html', template_values))
과 : 난 서버 측에서이 문제를했습니다 제기 된 반면, a3은 그렇지 않습니다. 어디에 문제가 있습니까? channel.open()이 작동하지 않는 이유는 무엇입니까?
추신 : 자바 스크립트에서 이러한 오류를 추적 할 수있는 방법이 있습니까? 오류가 어디에 있는지 더 추측하는 것이 더 효과적입니다.
Firefox 용 Firebug가 있거나 Chrome, Opera 등을위한 내장 자바 스크립트 디버거를 사용할 수 있습니다. 대부분의 브라우저에는 오류를 표시하는 자바 스크립트 콘솔도 있습니다. –
나는 이것도 생각했다. 그러나 나는 "open"도 경고로 보지 않는다. 그래서 채널은 열리지 않는 것 같습니다. 실제로/_ah/channel/connected/data를 얻으려고하고 있지만 실제로 어떻게 작동하는지 알 수는 없습니다 – EsseTi
Google App Engine 설명서를 사용하고 있습니까? 무엇에 대한 –