繁体   English   中英

Ajax调用上的服务器端重载启动

[英]Server Side Reload Initiation on Ajax Call

我需要在服务器端(PHP)期间和AJAX调用中启动重新加载。 我该怎么做呢。 老实说,我认为它不受支持。

我当前的方法是使用PHP header()函数并将其捕获为来自AJAX调用的responseText,然后执行innerHTML添加。

但是,这在我的书中不是正确的重载,因为它不会启动onload函数。 它似乎也是人为的,而不是“干净的”解决方案。

将命令/标志发送回您的Ajax处理程序,以使其在页面中调用以下JavaScript方法:

window.location.reload();

有一种模式使用AJAX创建类似PUSH的应用程序。 我不知道该范式的真实名称,也不知道一个好的实现,但这基本上是它的工作方式:

  1. 客户端向服务器发出AJAX请求。
  2. 服务器未关闭连接。
  3. 服务器要推送时。 服务器说:
    一种。 处理推送消息X
    启动一个新的连接。 (即转到1。)
    <服务器关闭连接>

因此,总会有一个“挂起”的连接,一旦服务器想要响应,客户端就会立即创建一个新的挂起的连接。

重新加载整个页面的唯一方法是更改window.location 您无法在服务器上执行此操作。 每个动作都必须从客户端启动-这是HTTP等安全协议的基础。

但是,您的服务器可以发回整个文档,然后可以“拾取”要替换的部分。 jQuery允许使用load函数。

例如,这将重新加载BODY: $('body').load('ajax/page.html body');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM