2010-10-30 52 views
2

我有一个包含以下信息的两个数字字段:使现场数据实时更改而不刷新..如何在网站上?

(1)用户注册 (2)货币募集

是否有可能使实时数据的变化(每秒),而有人用字段查看页面?我不希望查看者手动刷新以查看更新后的号码,但是在查看页面时会自动更改字段。我希望它类似于实际显示秒数的文本时钟等。

这些字段连接到每秒不断变化的数据库。

有谁知道这是可能的吗?任何例子?或建议?

我真的很感激它。

埃里克

+1

这是一个Web或桌面应用程序? – mikerobi 2010-10-30 23:26:32

+0

这是针对网络的。 – Erik 2010-10-30 23:34:48

回答

3

我想这是一个Web应用程序。在这种情况下,您会每秒用XMLHttpRequest向您的服务器发出请求。然后可以用该响应更新该字段。 您也可以使用打开与服务器的永久连接的websockets。不幸的是,他们只支持较新的浏览器。

我的第一个建议使用jQuery的例子:

// This function starts the request and calls success on response. 
var refresh = function() { 
    $.ajax({ 
    url: "/some/path", 
    cache: false, 
    success: success 
    }); 
} 

// Replaces the contents of the field with your response and 
// triggers refresh() after 1000ms. 
var success = function(data) { 
    $(".field").html(data); 
    setTimeout(refresh, 1000); 
} 

// Starts processing when document is ready. 
$(function() { 
    refresh(); 
} 
+0

这会在IE7中工作吗? – Erik 2010-10-30 23:44:44

+0

观看者是否会遇到网页延迟或性能下降的问题? – Erik 2010-10-30 23:46:22

+0

这将在IE7中工作。时间将为: 页面加载时间+请求时间=>第一次更新字段; 1000ms +请求时间; =>第二次更新的字段 – balu 2010-10-31 11:13:27

1

你有2种选择:

可以使用setTimeout功能,使Ajax请求每秒和更新网页。

如果您可以将您的自我限制在最新的Web浏览器上,则可以使用WebSocket与服务器保持持久连接,以便服务器在必要时发送更新。

编辑

还有Comet,但可能是矫枉过正。

+0

套接字选项可以在IE7中使用吗? – Erik 2010-10-30 23:41:20

+0

使用setTimeout功能,观众是否会注意到闪烁或慢速演奏? – Erik 2010-10-30 23:42:45

+0

绝对不是,但有一个解决方法使用闪光灯(我不能保证它的质量):http://github.com/gimite/web-socket-js – mikerobi 2010-10-30 23:42:49

相关问题