javascript - PHP 将 setTimeout() 回显给 javascript

标签 javascript php ajax

我有一个使用 PHP 的 ajax 应用程序。它加载视频,并且 ajax 需要在从数据库获取的可变秒数后加载另一个视频。我试图将 setTimeout 与视频一起回显,就像这样,其中 loadContent 是加载视频的函数。

            echo '<iframe id="youtubeFrame" src="//www.youtube.com/embed/
            '.$row['youtube'].'
            ?autoplay=1" frameborder="0" allowfullscreen></iframe>';

            $refreshTimer = $row['end'] - $time;
            $refreshTimer = $refreshTimer * 1000;
            echo $refreshTimer;
            echo '<script>
            setTimeout(loadContent, '.$refreshTimer.');
            </script>';

视频加载,变量refreshTimer是正确的秒数,但它不会运行setTimeout。

当数据库要求刷新页面时,如何刷新页面?

更新:我被告知该变量需要转换为 Int,但事实并非如此,因为当没有视频时,此代码会运行。

        echo '<h1>Upload content to start the show</h1>';

            echo '<script>
            setTimeout(loadContent, 4000);
            </script>';

这不涉及任何php变量,它是一个直接的数字,这也不起作用。我很好奇如何通过成功将数据传递给ajax,但是我在搜索时很难在网上查找相关信息。

最佳答案

根据您提供的信息,我的最佳猜测是 PHP 变量将被视为字符串,而不是整数

所以像这样转换:

echo '<script>
 setTimeout(function(){loadContent();}, parseInt('.$refreshTimer.'));
</script>';

旁注将来学习如何使用ajax分离PHP和JS(服务器端和客户端)是明智的:)

关于javascript - PHP 将 setTimeout() 回显给 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27033174/

相关文章:

javascript - 再次刷新发布值,导致再次进入数据库

javascript - 仅当验证检查返回 true 时才通过 ajax 进行 POST

asp.net-mvc - 如何在ASP MVC中返回JSON结构

javascript - 将 CodeMirror 应用于预先存在的 div

java - Websocket和跨域

javascript - 将 CKeditor 集成到 Flask 时 CSRF 验证失败

javascript - swampdragon如何导入js文件?

php - SQL 查找接近的匹配项

php - 如何在 PHP 中将变量值保存在循环之外?

jquery - 无法在客户端 html 上打印 json 响应