XMLHttpRequest用于在外部调用上刷新页面

时间:2011-07-23 09:47:07

标签: javascript html xmlhttprequest

说我有page1.html,这是一个等待见我的人的队列列表。

我可以访问page2.html,我用它来查看列表,并呼叫特定的人。当我点击page2.html上的名字时,page1.html应该为该人的名字附加一个类(它使用css3动画使其闪烁)。

这个例子很蹩脚,但是你得到了我在这里要做的事情......我已经阅读了一些关于XMLHttpRequests和'onreadystatechange'的内容,但我不确定它是如何工作的...... < / p>

...思想

4 个答案:

答案 0 :(得分:1)

我想你可以这样做。当您点击某个人的姓名时,让您的page2.html更新数据库。当您在page2.html上点击他的名字时,您可以在数据库中标记该人

现在另一端让你的page1.html在JavaScript循环中不断地在后台查询数据库。在从数据库请求信息时,您可以相应地更新page1.html

我希望你明白。如果有任何环孔,请告诉我。

此链接可能有所帮助:PHP long polling, without excessive database access

答案 1 :(得分:0)

您可以使用XMLHttpRequest从page1.html加载数据并相应地显示在page2.html上。您必须在第2页上使用请求并在第1页上返回数据。

您可以将page2视为您的前端或客户端,您必须在其中解释信息并显示它(在您的示例中显示列表并更改人员的类别),而page1是您提供信息的后端你的page2。

有关XMLHttpRequests或其使用的概念的更多信息,我建议您查看以下示例:https://developer.mozilla.org/en/AJAX

答案 2 :(得分:0)

据我所知,当你点击第2页上的人名时你想要更新page1。我认为这里有一些案例:

  1. 第2页是dialog window。单击名称时,可以在第1页上直接操作。这里不需要XMLHttpRequest。
  2. page2是一个弹出窗口。差不多一样。这个article可以帮助您解决这个问题。
  3. page2是一个独立的页面,位于不同的选项卡/窗口中。在这里你需要一个ajax(XMLHttpRequest)。当你点击名字时,这个动作应该写在某个地方(服务器端,sql或其他东西),而page1应该检查某个时间间隔的任何变化。

答案 3 :(得分:0)

我确实得到了相当多的回复,虽然他们中的大多数需要不断的javascript ping或稍微迂回的方法(例如反向AJAX或COMET,长轮询等),但他们都解决了这个问题。

尽管如此,还有一点额外的挖掘,我找到了一个完全适合的技术块:

HTML5的服务器发送事件 (http://dev.w3.org/html5/eventsource/)

这允许客户端将自己声明为来自服务器的通信的“接收者”,从而有效地逆转了在Web技术中占主导地位的“请求优先,稍后服务”方法。服务器可以在没有初始请求的情况下启动与客户端的通信,允许我在客户端可用时将更新推送到客户端(例如数据库更改)。