通过ajax发送php变量,如果成功则返回值

时间:2012-02-12 18:57:18

标签: php ajax

我正在后端页面(thread.php)中进行一些处理,它基本上返回dateposted和当前时间之间的时间段的值。 前端页面(index.php)向thread.php发送一个请求,其中包含dateposted的值。页面thread.php接受dateposted并相应地返回值。然后index.php将使用返回值的最后一个值,并将dateposted设置为此值,该值将再次作为请求发送。所以这是一个循环。但是,我在将index.php中的值“dateposted”发送到thread.php时遇到问题。

    $dateposted = '1328098097623';
<script language="JavaScript">
var dateposted = <?php echo $dateposted ?>;
        function returnValue()
    {
     $.ajax({
                async: true,
                type: "GET",
                url: "thread.php",
                data: {lastposted : dateposted},
                success: function (html) {
                    if(html)
                    {
                       var newDiv = $('<div/>').html(html);   
                       $('#chatContents').append(newDiv);             
                    }
                }  
            });
    }
</script>

这是我在thread.php中接受传递的变量的原因。

if(!isset( $lastpost)){
 $lastpost = 0;
 }else{
    $lastpost = $_REQUEST["lastposted"];
    }

基本上我现在已经硬编码“dateposted”。我不知道如何通过ajax将php变量传递到另一个页面。提前致谢

2 个答案:

答案 0 :(得分:1)

快速浏览一下,我建议你首先用引号“”来说明你的php echo变量。

var dateposted = <?php echo "$dateposted" ?>;

这是为了让你的javascript语法正确。第二个将函数(html)替换为函数(数据)..因为这是你要发送的对象并将你的类型更改为POST。最后在你的php脚本中更改它

    if(!isset($_POST['lastposted'])){ $lastpost = false; }else{$lastpost=$_POST['lastposted'];}

答案 1 :(得分:0)

你需要在ajax(thread.php)调用的脚本末尾'回显'$ lastpost。您还需要检查isset($ _ GET ['lastpost'])或$ _POST ['lastpost']。在你的情况下应该得到:

if(!isset( $_GET['lastposted'])){
 $lastpost = 0;
 }else{
    $lastpost = $_GET["lastposted"];
    }
echo $lastpost;

您的变量也不匹配 - 检查if isset和赋值的拼写。