Javascript 从循环中的PHP文件中获取值时不更新

Javascript 从循环中的PHP文件中获取值时不更新,javascript,php,mysql,Javascript,Php,Mysql,我试图重复调用另一个PHP文件中查询数据库的函数。其思想是,当新值输入到数据库中时,循环将在那里拾取它们 调用和循环似乎有效。但是数据库中的新计算器没有被提取出来 由于调用是在JS中完成的,所以我尝试使用XMLHttpRequest(),但没有成功 该调用设置“持续时间”的值。每当循环经过时,我都要更新这个值 “first()”位于“api.php”中 $(文档).ready(函数(){ var持续时间; (函数theLoop(i){ setTimeout(函数(){ 如果(--i){ 环(i

我试图重复调用另一个PHP文件中查询数据库的函数。其思想是,当新值输入到数据库中时,循环将在那里拾取它们

调用和循环似乎有效。但是数据库中的新计算器没有被提取出来

由于调用是在JS中完成的,所以我尝试使用XMLHttpRequest(),但没有成功

该调用设置“持续时间”的值。每当循环经过时,我都要更新这个值

“first()”位于“api.php”中


$(文档).ready(函数(){
var持续时间;
(函数theLoop(i){
setTimeout(函数(){
如果(--i){
环(i);
持续时间=
如果(持续时间>29){
window.location.href=http://www.google.com';
}
否则如果(持续时间<29){
}                   
} 
}, 3000);
})(100);
});

您的问题是,当页面加载时,PHP代码只运行一次,并将为您提供HTML代码。页面中的JS将具有
持续时间
始终引用PHP代码第一次运行时的值

为此,您确实需要使用AJAX,并创建一个新的PHP页面来调用,该页面将在每次发出请求时运行

JS:

//这里您执行一个AJAX GET请求
美元({
//将值传递给PHP
数据:{
“第一”:“aaa”
},
url:指向PHP页面的url,
//成功函数是GET成功完成时将运行的函数
成功:功能(持续时间){
//做你想做的事
如果(持续时间>29){
window.location.href=http://www.google.com';
}
否则如果(持续时间<29){
}            
},
错误:处理请求未完成时的操作的函数
});
PHP


您的问题是,当页面加载时,PHP代码只运行一次,并将为您提供HTML代码。页面中的JS将具有
持续时间
始终引用PHP代码第一次运行时的值

为此,您确实需要使用AJAX,并创建一个新的PHP页面来调用,该页面将在每次发出请求时运行

JS:

//这里您执行一个AJAX GET请求
美元({
//将值传递给PHP
数据:{
“第一”:“aaa”
},
url:指向PHP页面的url,
//成功函数是GET成功完成时将运行的函数
成功:功能(持续时间){
//做你想做的事
如果(持续时间>29){
window.location.href=http://www.google.com';
}
否则如果(持续时间<29){
}            
},
错误:处理请求未完成时的操作的函数
});
PHP



我可怜的眼睛><为什么不直接从ajax调用中得到响应?值更改->发送->处理->返回更新值->做点什么->重复不要长时间盯着深渊!这是最接近工作的。当我尝试Ajax时,我想我做得不对。用这样的函数调用另一个文件的Ajax示例将非常棒。恐怕我还没有找到我自己能理解的东西。我可怜的眼睛><为什么你不直接从ajax调用中得到响应?值更改->发送->处理->返回更新值->做点什么->重复不要长时间盯着深渊!这是最接近工作的。当我尝试Ajax时,我想我做得不对。用这样的函数调用另一个文件的Ajax示例将非常棒。恐怕我还没有找到我自己能理解的东西。事实上,还有一部分我忘了。“aaa”实际上是一个需要与$get一起发送的动态值,因为它是函数“first(---);”中的一个值。有没有一种方法可以将其与Ajax调用一起传递?您可以在PHP中使用
$\u GET
,并使用$.GET的
data
属性。见更新的答案。这是最后一条。非常感谢。事实上,还有一部分我忘了。“aaa”实际上是一个需要与$get一起发送的动态值,因为它是函数“first(---);”中的一个值。有没有一种方法可以将其与Ajax调用一起传递?您可以在PHP中使用
$\u GET
,并使用$.GET的
data
属性。见更新的答案。这是最后一条。非常感谢。
<?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>
// 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
   include 'api.php';

   // GET THE PARAMETER FROM THE JS
   $firstParam = $_GET["first"]
   echo first(firstParam);
?>