Jquery 始终从AJAX请求接收空响应

Jquery 始终从AJAX请求接收空响应,jquery,ajax,Jquery,Ajax,我不断地发出AJAX请求,以检查是否进行了任何更新。它工作正常,只是对于函数发送到PHP文件的每个请求,都会加载一个空字符串,并且会不必要地追加它。文档的大小正在增长,没有数据。我试着保持if循环,但由于某种原因它不起作用 <script> function storyupdater(id) { var x = id; $.ajax({ type: 'POST', url: "storysourc

我不断地发出AJAX请求,以检查是否进行了任何更新。它工作正常,只是对于函数发送到PHP文件的每个请求,都会加载一个空字符串,并且会不必要地追加它。文档的大小正在增长,没有数据。我试着保持
if
循环,但由于某种原因它不起作用

<script>
    function storyupdater(id) {
        var x = id;
        $.ajax({
            type: 'POST',
            url: "storysource.php",
            data: { flag1: "update", flag2 : "" + x },
            success: function(result) {
                if (result) { 
                    $('#storyload').append(result);
                }
            },
            complete: function(){
                setTimeout(storyupdater(x), 5000);
            }
        });
    }
</script>

函数storyupdater(id){
var x=id;
$.ajax({
键入:“POST”,
url:“storysource.php”,
数据:{flag1:“更新”,flag2:“+x},
成功:功能(结果){
如果(结果){
$('#storyload')。追加(结果);
}
},
完成:函数(){
setTimeout(故事更新程序(x),5000);
}
});
}

您是否已检查控制台以确保响应为空?你期望得到什么样的回应?
storysource.php
中的代码是什么?我们需要更多细节来帮助您。
result.trim()
。或者尝试调试成功回调以查看结果的实际值。它显然不是空字符串。
setTimeout
code似乎有点不对劲,您正在立即启动storyupdater,5000毫秒后它将调用
storyupdater
上的回调。我想你想要的是:
setTimeout(function(){storyupdater(x);},5000)
正如
voigtan
正确指出的那样,您正在立即执行
storyupdater
,然后等待5秒钟,然后什么也不做!您需要首先修复它,因为它当前在完成post后立即再次运行。