0

我正在尝试将其放入 ajax 中,因此每次有人单击 jquery 中的按钮时,它都会创建一个 php 会话。可以只使用这个吗?

var milisec=00;
var seconds=60; 
function display(){ 
    if (milisec<=0){ 
       milisec=9 
       seconds-=1 
    } 
    if (seconds<=-1){ 
       milisec=0 
       seconds+=1
    } 
    else {
       milisec-=1 
       document.getElementById('counter').innerHTML= seconds+":"+"0"+milisec+"s";
       setTimeout(display,100) 
    }
    if (seconds < 10) {
       document.getElementById('counter').innerHTML=  "0"+seconds+":"+"0"+milisec+"s";
    }
} 
display()

我需要使用 ajax 使用 Php 会话发布他们进入下一页所花费的时间。

4

2 回答 2

1
  var seconds = 60;
  var milisec = 0;
  var stop_counter = false;    

  function display(){ 

    if(milisec == 0)      
      seconds = seconds - 1;

    milisec = milisec - 1;

    if(milisec == -1)
      milisec = 10;        

    $('#counter').html((seconds < 10 ? "0" : "") + seconds + ":0" +milisec+ "s");        

    if( (seconds == 0 && milisec == 0 && stop_counter == true) == false )
      setTimeout(function(){ display(); }, 100);

  }     


  $(document).ready(function(){

    display();

    $('#button').click(function(){

      $.post('myphpfile.php', {time : $('#counter').text()}, function(data){

        alert('Data from myphpfile.php: ' + data);
        stop_counter = true; //stop counter now

      });

    });

  });

我的php文件.php

echo 'you clicked button when counter was ' . $_POST['time'];
//you can do any php stuff here

这段代码应该做你想做的,但我没有测试它。

来自jQuery 库的函数 $.post()会将您的数据传递给 php 脚本,并且还可以检索一些您可以在您的网站或其他东西上显示的数据。

顺便说一句,一秒有 1000 毫秒,而不是 100

对不起我的英语不好

于 2012-04-25T10:11:44.847 回答
0

是的,您可以通过将"seconds" and "milisec"ajax 调用中的值传递给

$(document).ready(function(){  
    $('#button').click(function(){
      $.post('session_file.php', {secs : seconds,millisecs:milisec}, function(data){
      });
     });
 }); 

secs and millisecs 因此,在 session_file.php 中,您可以在会话中写入变量的值

于 2012-04-25T10:20:22.857 回答