来自一个页面的Ajax请求和另一个页面中的响应

时间:2013-10-28 23:47:06

标签: javascript ajax

是否可以让一个页面发送ajax请求并让另一个页面处理响应?

用例是长时间运行的任务。用户向服务器提交ajax帖子,服务器处理作业所花费的时间,可能是几分钟,然后返回响应,但用户可能已浏览到另一页面。

我希望能够使用相同的JavaScript函数来处理所有页面上的响应,以便处理来自原始页面的ajax响应。这可能吗 ?如果没有任何建议的解决方案?

我正在使用spring框架。

感谢。

3 个答案:

答案 0 :(得分:3)

答案 1 :(得分:1)

我会研究一个推送框架,它可以将更改从服务器推送到客户端。 如果您使用的是asp.net,那么需要考虑的是SignalR。

http://signalr.net/

您还可以使用其他long polling技术。

这里有更多信息 What are Long-Polling, Websockets, Server-Sent Events (SSE) and Comet?

http://techoctave.com/c7/posts/60-simple-long-polling-example-with-javascript-and-jquery

答案 2 :(得分:0)

这样做的简单方法是提交ajax请求,然后发送后续ajax请求以一定间隔(例如每2秒)轮询一次。

更好的方法是使用websockets - 最值得注意的是,如果你使用nodejs看看http://socket.io。使用套接字,您可以拥有持久连接,只需为每个用户分配一个ID即可。这样你就可以在你的服务器上排队了你的工作,当你准备就绪时,你可以查看相应的套接字并发回答案。此外,使用此功能,您还可以取消作业,如果您看到用户已完全断开连接,那么您不会浪费服务器资源