Ajax调用的服务器端重新加载初始化



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

我目前的方法是使用PHP header()函数并从AJAX调用中捕获它作为responseText,然后做innerHTML添加。

然而,它不是一个适当的重新加载在我的书,因为它没有启动onload函数。它也似乎是人为的,而不是一个"干净"的解决方案。

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

window.location.reload();

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

  1. 客户端向服务器发出AJAX请求。
  2. 服务器没有关闭连接
  3. 当服务器想要推送时。服务器说:
    a.处理推送消息X
    b.重新启动连接。(即:goto 1.)
    & lt;服务器关闭连接>

所以总是有一个"挂起"的连接,一旦服务器想要响应,客户端立即创建一个新的挂起的连接。

重新加载整个页面的唯一方法是更改window.location。你不能在服务器上这么做。每个操作都必须从客户端发起——这是HTTP等restful协议的基础。

然而,你的服务器可以发回整个文档,然后你可以"选择"要替换的部分。jQuery的load函数允许这样做。

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

最新更新