我真的对这几行代码感到困惑,这些代码在我看来应该有用。 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填充的数据的脚本不会刷新。
非常感谢任何帮助。
由于
答案 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
});
试一试=)