大家好我想处理一些服务器推送。我有一个异步servlet处理一些东西,将它推送到客户端,然后它处理其他东西并再次推送到客户端(相同的连接)。该服务器只返回数据(在这种情况下为Json,但这并不是真正的麻烦)仅此而已。
所以我的问题是客户。我如何为此建立一个客户端?如果我使用JQuery发出ajax请求,例如我如何对第一个响应后的数据做出反应?
为了更清楚我想要的是一个比较:使用websockets我有方法onmesssage。
websocket ws = new WebSocket("ws://myserver.com");
ws.onmessage = function(event)
{
var x = event.data
.... // some other code here
}
所以我想要的是一个onmessage方法:)。我想这并不像websockets那么容易,但也许有人有想法。
问候亚历克斯
答案 0 :(得分:0)
您可以让服务器生成一个响应,该响应由客户端加载到隐藏的iframe中。生成的响应将包含偶尔的JavaScript语句,这些语句调用“外部”(包含文档)。您可以使用parent
来获取包含文档。
但请注意,这种技术非常苛刻(至少在我看来)。您可能希望重新考虑使用XMLHttpRequest,尤其是因为它为您提供了简单而强大的错误处理。您可以执行更多请求(而不是在服务器端附加到“旧”响应)。这可能会引入额外的延迟,但iframe技巧在实践中确实很麻烦。