问题标签 [reverse-ajax]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
rest - 如果允许永久请求(服务器推送),则为 API RESTful
我正在编写一个 REST API,提供对资源的 CRUD 操作。
我希望用户能够注册某些资源更改并通过服务器推送获取更新。对于服务器推送,我将提供对反向 ajax、隐藏 iframe 和 websockets 的支持。为了尽可能地保持 REST,我创建了一个 Streaming 资源来处理注册和与客户端的连接:
流媒体资源:
OpenChannel : 打开从网络服务器到客户端的流媒体通道。GET参数类型=(websocket|xhr|hiddeniframe)
CloseChannel : 关闭从网络服务器到客户端的流媒体通道。GET参数类型=(websocket|xhr|hiddeniframe)
调用openchannel?type=websocket
将打开 websocket 并开始流式传输注册值的数据。
我已经阅读了很多文章,但我仍然有点困惑。这样做后我还能调用我的 API REST 吗?如果不是(或是),为什么?
谢谢您的帮助!
java - 我的第一个反向 ajax 应用程序
我想学习反向 ajax,我发现了一个名为 ICEPush 的小工具,我认为这可能是一个很好的起点。我在实现一个非常简单的应用程序时遇到了麻烦。我正在关注本教程,但我使用的是 Glassfish 3.1 而不是 Tomcat,而不是 Eclipse 我使用的是 NetBeans 7.1
我完全按照教程中的说明进行操作,请参阅我的代码。这是将成为 Ajax 推送目标的页面:
以下是需要的 2 个托管 bean: ColorBean.java
MessageBean.java
还有一个简单的 pojo 来表示正在呈现的文本。 文本模型.java
我正在使用 IceFaces 3.0.1 版,这就是我的web.xml的样子:
这段代码给了我3个问题:
1 - 当我运行应用程序并单击 3 个按钮中的一些按钮时,会出现一个异常,指出我不能调用一个在另一个内部使用一个托管 bean,因为它们的范围不兼容:
警告:排队异常 javax.faces.FacesException:无法创建托管 bean colorBean。发现以下问题: - 表达式#{messageBean},request所引用的对象的范围比引用的托管bean(colorBean)的视图范围短
2 - 在控制台中我一直看到一条消息:
WARNING: PWC4011: Unable to set request character encoding to UTF-8 from context /ReverseAjaxExample,因为请求参数已经被读取,或者 ServletRequest.getReader() 已经被调用
3 - 如果我在托管 bean 中将 @ApplicationScope 更改为 @ViewScope 并将 @ViewScope 更改为 @ApplicationScope,第一个问题就会消失,我可以看到应用程序是如何工作的,但是反向 ajax 不起作用,因为其他浏览器不显示变化。而且我总是PWC4011
在控制台中看到警告
我从未使用过反向 Ajax,但我从理论的角度理解它。如果您能帮我修复这个简单的应用程序,我将不胜感激。
websocket - 如何将 SockJS 与另一个 Web 框架集成
作为 Socket.io 的替代品,还有 SockJS(https://github.com/sockjs/sockjs-client),它似乎比 Socket.io 维护得更好,更稳定。
这个问题是关于将 SockJS 与 Web 框架一起使用的架构的概念理解,例如,用于构建聊天应用程序
我目前的理解是,您需要 SockJS 客户端和 SocketJS 服务器(在我的情况下,我打算使用 SockJS-Tornado(https://github.com/MrJoes/sockjs-tornado))才能制作 websockets-风格的沟通。
但是 SockJS(SockJS-client + SockJS-Tornado)如何与一个完成其余工作(例如,为页面提供服务,向/从 db 写入/读取等)的 web 框架结合在一起。例如,SockJS-Tornado 组件如何与框架的 Web 服务器通信?特别是,高度赞赏使用 web2py(python 网络框架)执行此操作的任何方向。
ajax - AJAX/反向 AJAX:轮询还是推送?
一直在研究 AJAX,因为我正在用 Javascript 和 PHP 制作一个实时应用程序。它需要能够在不刷新页面的情况下实时更新。
我尝试使用 setInterval() 轮询服务器,但为了快速,我必须每秒都拥有它。不过,它似乎正在使用大量带宽。但是它确实有效,我与我的托管服务提供商制定了“无限带宽”计划。不过,网站上似乎有很大的压力,所以我想使用 Push 技术。
学习如何设置 Push 非常困难。据我所知,您必须托管某种类型的推送服务器或彗星服务器。我还研究了 websockets,但你也必须自己托管它。当我没有服务器计算机并且我的托管服务提供商网站上没有关于此的文档时,我不明白该怎么做。
特定的托管服务提供商会为您托管推送服务器吗?有没有办法在不托管服务器的情况下获得服务器?与轮询相比,这似乎是一个更好的选择,但同时它似乎非常令人困惑。
javascript - 如何使用 DWR addRows 函数在顶部添加行
我正在关注这个例子http://directwebremoting.org-demo/reverseajax/peopleTable.html
在这里,它将行添加到表的末尾。
但我的要求是我必须在顶部添加。每个新行都应该是第一行。
请帮助我,从 2 天以来我一直在努力把它拿出来。但没用。
提前致谢。
spring - 异常恢复继续:dwr glassfish
我正在dwr3
使用spring mvc
. 当应用程序部署在tomcat(version 6)
. 但是在 glassfish(3.1 版)中运行相同的应用程序时出现以下错误。非常感谢任何帮助。
我得到的错误;
comet - 异步servlet长轮询和bayeux协议(彗星)之间的区别
简单的 Async servlet 和 Comet / Bayeux 协议有什么区别?
我正在尝试实现“服务器推送”(或“反向 Ajax”)类型的网页,该网页将在服务器上发生事件时从服务器接收更新。因此,即使没有客户端显式发送请求,我也需要服务器能够向特定客户端浏览器发送响应。
我知道 Comet 是这类技术的总称;'Bayeux' 是协议。但是当我查看 servlet 规范时,即使是“异步 servlet”似乎也能完成同样的事情。我的意思是我可以定义一个简单的servlet
web.xml 中的属性设置为 true;并且该 servlet 将能够异步向客户端发送响应。然后我可以拥有一个基于 jQuery 或 ExtJS 的 ajax 客户端,它只是不断地做一个
调用servlet。类似于以下链接中描述的内容 http://www.ibm.com/developerworks/web/library/wa-reverseajax1/index.html#long
所以我的问题是:
简单的 Async servlet 和 Comet / Bayeux 协议有什么区别?
谢谢
javascript - 通过原型 javascript 框架捕获异常
我正在使用原型框架在我的页面中获得反向 ajax 效果,我正在使用这个脚本:
该脚本工作正常,但我有一个问题,当我关闭 Web 服务器(在我的情况下,我用 python 编写的一个小 Web 服务器)由于错误 404 引发了很多异常,有没有办法捕获这个异常并阻止剧本?
java - Java:如何从本地 Java 桌面应用程序与 Java Applet 通信?
我会知道是否有办法让 Java 桌面应用程序与小程序通信,以便从桌面应用程序(通过小程序)调用 Javascript 函数。
上下文 :
一方面,我有一个 ExtJS 应用程序(全 AJAX),它位于远程服务器上。另一方面,一个桌面 Java 应用程序(netbeans 应用程序),它是常驻的(实际上)。
我会做什么:
每次使用其中一个应用程序时,它都会将事件和数据发送到另一个应用程序。
经过一些研究,我在这里和这里看到了有趣的帖子,以及关于如何在小程序之间进行通信的答案(另见这里)。
问题不在于如何从小应用程序跨域到 destktop 应用程序(参见那里和这里),而是如开头所说的如何从桌面 java 应用程序到 javascript 进行通信。
笔记
webapp (ExtJS) 基于远程服务器,applet 也是。我可以在本地找到小程序,但这意味着要部署本地网络服务器。
桌面应用程序很重,所以我无法将其转换为小程序格式。
我放置了“reverse-AJAX”标签,因为它是我要做的全局概念。
如果这一切都可以在没有小程序的情况下实现(请不要使用 Flash),那也没关系。