1

我想实时更新一些项目而不必更改页面。

我已经将类似的东西用于另一个每 5 秒更新一次的项目。

我尝试为每个项目都这样做,但它使我的网站非常慢。

有人告诉我它可以用 jQuery 来完成,但我不知道具体是怎么做的。

我想做的事:

使用 PHP 我将从我的数据库中获取信息,这些信息将显示为“1”或“0”

我需要更新的将是这些:(如果它们是 1)

<a id="first_icon" style="background: url(/images/first.gif); height:23px; width:23px; float:left; margin-right:3px;" href="first.php" title="First"></a>
<a id="sec_icon" style="background: url(/images/first.gif); height:23px; width:23px; float:left; margin-right:3px;" href="sec.php" title="Second"></a>
<a id="third_icon" style="background: url(/images/first.gif); height:23px; width:23px; float:left; margin-right:3px;" href="third.php" title="Third"></a>
<a id="four_icon" style="background: url(/images/first.gif); height:23px; width:23px; float:left; margin-right:3px;" href="four.php" title="Fourth"></a>

如果它们是“0”,则图标“id”将类似于“first_icon_2”

我怎样才能一次得到所有的请求?

在此先感谢,我已经尝试这样做了大约一个月。

4

1 回答 1

1

您要使用的是 ajax 调用。jQuery 有一个.ajax()功能:http ://api.jquery.com/jQuery.ajax/非常简单。

本质上,您需要做的是设置一个 PHP 脚本来执行您需要完成的任何处理。任何在页面上回显的内容都将通过ajax调用返回。如果您要处理多个项目,则应查看JSON.

由于您似乎需要返回多个值(每个图标为 1),因此您需要在 PHP 中创建一个数组。该数组将如下所示:

$icons = array("first_icon => 1, "second_icon => 0, "third_icon" => 0, "fourth_icon => 1);

然后,您可以使用json_encode将数组编码为在您的 javascript 端可读的字符串:

$iconsJSON = json_encode($icons);
echo $iconsJSON;

如果您在主页(带有 javascript 的页面)上设置 AJAX 功能,如下所示,您将能够引用任何icon键。

$.ajax({
dataType: 'JSON',
type: 'POST',
url: api_url+'client/'+client.id+'.json', 
data: {
    variable1: 'value',
    variable2: 'value',
    variable3: 'value'
},
success: function(data) {
    // On success perform this function
    var icons = data;
},
error: function(data) {
    // On failure perform this function
}
});

如果您需要更多指导,我建议您阅读此资源:http ://www.jquery4u.com/json/ajaxjquery-getjson-simple/

于 2012-04-08T22:40:54.207 回答