ajax - Grails:服务器到客户端的通知

标签 ajax multithreading grails push-notification

我正在构建一个Grails应用程序,该应用程序可以查询Web上的多个API。问题在于,这种查询非常耗时,并且让用户单击一个按钮并等待如此多的时间而页面没有任何变化确实很烦人。

我的应用程序的基本体系结构是,当用户单击按钮时,客户端将向服务器端执行带有Prototype库的Ajax请求。然后,服务器端连接到Last.fm API并检索事件列表。当服务器端用事件填充列表完成时,它会向客户端发送JSON响应,从而允许客户端为Google map 上的每个事件创建标记。

我要实现的是,服务器端在检索到一个事件后立即发送JSON响应,而不是等待从API检索到所有事件以发送JSON响应,从而允许客户端填充 map ,而另一端则填充 map 事件尚未被检索。

有什么想法可以实现吗?我阅读了有关Ajax Push的概念,但不确定是否是我所需要的。
谢谢您的帮助!

最佳答案

无法在服务器可能连接到的客户端上打开监听连接。相反,您需要的是到服务器的连接,该连接保持 Activity 状态并可以用来接收事件。这样,您可以直接返回“操作”请求,并在last.fm请求完成后通过持久事件连接通知客户端。

就是说,我实现的方式是使用ajax keep live。

关于ajax - Grails:服务器到客户端的通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6800948/

相关文章:

python - 让Python Socket服务器更高效

c# - 在线程之间共享局部变量是否安全(通过回调闭包)?

Java 并发性和范围

jquery - jQuery Datepicker + Grails + dd/mm/yyyy格式

grails - 如何更改 Grails Spring Security Cookie 路径

Grails Spring 安全 : how to undo s2-quickstart

javascript - 从 ajax 中的服务器响应获取 excel 文件(.xlsx)

javascript - 通过ajax在多个页面上传递变量

javascript - 当浏览器禁用 JavaScript 时如何发送 PUT 和 DELETE?

javascript - 使用 AJAX 在 PHP 文件中调用 PHP 方法