【发布时间】:2012-06-08 08:27:44
【问题描述】:
我正在尝试使用 Google App Engine 的 Channel API。
JavaScript/JQuery:
$(document).ready(function(){
alert('ready');
$.post('/token', function(data) {
alert('token:' + data['token']);
openChannel( data['token'] );
});
$.post('/chat', function(data) {
alert('chat:' + data['users'].length);
});
});
onMessage = function(message) {
alert(message);
}
onSocketError = function(error){
alert("Error is <br/>"+error.description+" <br /> and HTML code"+error.code);
};
onSocketOpen = function() {
// socket opened
};
onSocketClose = function() {
alert("Socket Connection closed");
};
openChannel = function(token) {
alert('open channel');
var channel = new goog.appengine.Channel( token );
var socket = channel.open();
socket.onopen = onSocketOpen;
socket.onmessage = onMessage;
socket.onerror = onSocketError;
socket.onclose = onSocketClose;
};
问题是 alert(message) 没有触发。我的代码有什么运气?
我对一些在服务器端使用 "\\{\\{ token \\}\\}" 而在 JavaScript 中使用 channel = new goog.appengine.Channel('{{ token }}') 的示例感到困惑。
{{ }} 中包含什么?
【问题讨论】:
-
在示例中,javascript 中的“{{ token }}”标识符意味着通过 template.render 函数服务器端扩展为值。您的“/token”处理程序中发生了什么?
标签: java google-app-engine channel-api