2017-04-25 95 views
1

我在这一刻陷入了一个问题:请求刷新页面

比方说,有两台电脑:A和B.

做“POST请求”和“插入MySQL数据库“与计算机答:

我想刷新计算机B(或更好,与Ajax的div)的页面,当我的数据库中的表更新。

我发现的最简单但最糟糕的解决方案是在数据库中用计数器做一个选择,每X秒例行一次,如果计数器高于X secondes之前刷新B的页面。

我正在使用php,javascript和jQuery处理这个项目。

我该怎么做?我想要一个好的解决方案,但很快就可以实现。

谢谢!

(计算机A和计算机B不在同一页)

+0

计算机A和B在同一页上,然后计算机A插入数据时。您希望计算机B在不重新加载页面的情况下查看插入的数据?我对吗? –

+0

XMLHttpRequest是ajax--它发出一个异步HTTP请求。 Websockets保持开放连接,消息可以在两个方向上发送。它们不是同一种东西,所以一个不比另一个好,它将苹果与橘子进行比较。 – Bill

+0

吉娜,没有他们在两个不同的页面 –

回答

0

你应该有你的客户保持一个套接字连接与服务器开放。套接字连接保持打开状态,您可以来回发送消息。在服务器上更新表时,广播一条消息,然后让客户端监听该消息,并刷新表。

在这个答案插座有一些很好的链接:https://stackoverflow.com/a/1736398/1879895

+0

谢谢!我要读 –

+0

酷!如果您决定我的答案有帮助,请给它一个upvote和/或标记为正确!谢谢! – Bill

+0

Not enought声誉伙伴:( –

0

标准的做法是做一个Ajax调用每X秒,要求从服务器的更新。为此使用套接字是矫枉过正的。

+0

这真的取决于应用程序,我猜如果你想要接近即时更新,然后持续ping是过量的,特别是如果你有很多的用户。插座可以保持开放,但没有消息在不必要的时候来回。 – Bill

+0

@Bill是的,而不是写你自己的套接字处理,它是多更好的方式是使用类似redux或同等反应的东西 – Mykybo

+0

也许,(编写你自己的套接字真的不那么难,虽然我确实认为你应该使用类似的东西),但是这与套接字是否过度相关有关vs反复ping一台服务器?ping一台服务器性能低得多 – Bill