我试图在另一个查询数据库的 PHP 文件中重复调用一个函数。这个想法是,当新值输入到数据库中时,循环会在那里提取它们。
呼叫和循环似乎有效。但是数据库中的新calues 没有被拾取。
由于调用是在 JS 中完成的,我尝试使用 XMLHttpRequest() 但没有成功。
该调用设置“持续时间”的值。每当循环经过时,我都希望更新这个值。
“first()”位于“api.php”中。
<?php
include 'api.php';
?>
<script>
$(document).ready(function(){
var duration;
(function theLoop (i) {
setTimeout(function () {
if (--i) {
theLoop(i);
duration = <?php echo first("aaa"); ?>
if(duration > 29){
window.location.href = 'http://www.google.com';
}
else if(duration < 29){
}
}
}, 3000);
})(100);
});
</script>
您的问题是 PHP 代码只会在页面加载时运行一次,并且会为您提供 HTML 代码。页面中的 JS 将duration
始终引用 PHP 代码第一次运行时的值。
您确实需要为此使用 AJAX 并创建一个新的 PHP 页面来调用,该页面将在每次发出请求时运行。
jQuery JS:
// HERE YOU DO A AJAX GET REQUEST
$.get({
// PASS VALUES TO THE PHP
data: {
"first": "aaa"
},
url: THE URL TO YOUR PHP PAGE,
// THE SUCCESS FUNCTION IS WHAT WILL RUN WHEN THE GET COMPLETES SUCCESSFULLY
success: function(duration) {
// DO WHAT YOU WERE GOING TO DO
if(duration > 29){
window.location.href = 'http://www.google.com';
}
else if(duration < 29){
}
},
error: A FUNCTION TO HANDLE WHAT TO DO IF THE REQUEST DOES NOT COMPLETE
});
PHP
<?php
include 'api.php';
// GET THE PARAMETER FROM THE JS
$firstParam = $_GET["first"]
echo first(firstParam);
?>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句