我正在尝试使用PHP创建拍卖工具.我遇到的问题(我很欣赏它的基本问题,但我需要澄清)是我不了解如何在每个用户屏幕上自动更新“拍卖价格”,而无需他们采取任何措施或不引起任何后果.页面完全重载.
到目前为止,我了解使用Ajax可以做到这一点,但是如果有人可以向我指出正确的方向或任何有用的材料.到目前为止,我对我的项目的计划是使用PHP和JavaScript,因此任何解决方案都需要与这些语言兼容.
解决方法:
您提出的问题有很多可能的答案,它们可以填满整本书.
最简单的方法是使用setInterval()函数和AJAX调用的组合每隔几秒钟进行一次ajax调用.基本上,您每隔几秒钟就会发出一个AJAX请求:
setInterval(function(){
$.get( "anyChanges.PHP", function( data ) {
//do something with the returned data. Maybe update a table or something
});
}, 3000);
在服务器端,anyChanges.PHP立即返回一些数据,例如确认已更改某些内容和新数据.
长期投票是Google和其他人的做法.与上面的示例相同.区别在于服务器端. anyChanges.PHP不会立即返回,脚本将保持连接打开,直到有一些新的更改并返回为止.如果使用长轮询,则通常将间隔设置为更长,例如30秒.
我认为最好的方法是WEB套接字.这是一项非常新的技术.使用Web套接字,您可以创建到服务器的双向连接.这意味着服务器可以简单地将数据发送到客户端,而不必每隔几秒钟就请求新数据.在PHP中,使用网络套接字有点困难(或者,我听说),但是您可以尝试一下.如果选择Web套接字,请尝试先了解它们:
tutsplus tutorial
该库将对您有所帮助:
socketo.me