Ajax成功,如何每分钟刷新响应

时间:2010-09-23 23:33:03

标签: jquery ajax json

我真的对这几行代码感到困惑,这些代码在我看来应该有用。 Div在使用.html时会更新,但在使用自定义脚本时则不会。

我有几个文件,index.php和test.php

索引包含:

$(document).ready(function () {
    setInterval(function () {
        $(function () {
            $.ajax({
                url: 'test.php',
                dataType: 'json',
                cache: false,
                success: function (data) {
                    // custom script that displays parsed info goes here, doesn't work
                    $("#div").html(data); // works and updates
                }
            });
        });
    }, 10000);
});

test.php包含json字符串。

index.php显示,并在div中更新已解析的信息,但是使用json填充的数据的脚本不会刷新。

非常感谢任何帮助。

由于

2 个答案:

答案 0 :(得分:0)

首先,检查以确保请求成功完成。首先仔细检查您的选择器语法是否与标记匹配。 '#div'正在寻找id =“div”的任何元素。如果这是正确的,请确保处理请求。尝试在成功函数中添加警报或调试语句。如果您没有弹出窗口,请使用firefox或chrome网络监视器查看发出请求时发生的情况。

答案 1 :(得分:0)

使用setInterval,定期调用函数,您的函数可能会或可能不会完全执行,当您使用setTimeout调用函数时,有可能执行代码(完全)。好吧在你的问题中,我正在编写一个自动执行匿名函数,函数名称为request,我会在每个 10000 milli seconds 之后调用它

$(function () {
    (function request() {
        $.ajax({
            url: 'test.php',
            dataType: 'json',
            cache: false,
            success: function (data) {
                $("#selector").html(data); // works and updates
            }
        });
         //calling the anonymous function after 10000 milli seconds
        setTimeout(request, 10000);  second
    })(); //self Executing anonymous function
});

试一试=)