从javascript传递id到PHP脚本

时间:2014-07-01 19:51:02

标签: javascript php jquery ajax

我的javascript代码会在id未通过id后,按时间间隔将(it means the user has closed the javascript page)传递给我的php脚本。 if语句中的块应该在php脚本中运行。但这种情况不会发生在我身上。

代码低于

JavaScript

<script type="text/javascript" src="jquery-1.11.1.js"></script>
<script type="text/javascript" >

$(function(){
    // set interval for 5 second
    setInterval(function(){
            $.ajax({url: "test9.php?id=('1')"

            });
    }, 50000);
});

</script>

PHP

<?php
while(true)
{
    $id = $_GET['id'];
    if(isset($_GET['id']))
    {
        file_put_contents('/tmp/phptest1234.txt', 'test');
    }
    else
    {
        file_put_contents('/tmp/phptest.txt', 'test');
    }
}
?>

3 个答案:

答案 0 :(得分:1)

如果页面已关闭,则页面不会向您的服务器发送任何AJAX请求。所以不会出现这种情况。因此,只有在其他部分不会在任何时间执行时才会执行。

如果您愿意,在没有关闭页面的情况下将调用get请求,那么您可以尝试以下操作: -

<body onbeforeunload="closePage()">
</body>

然后在closePage函数中创建没有id的ajax请求: -

<script type="text/javascript" >

$(function(){
// set interval for 5 second
setInterval(function(){
        $.ajax({url: "test9.php?id=('1')"

        });
}, 50000);
});

function closePage(){
 $.ajax({url: "test9.php

 });
}
</script>

答案 1 :(得分:0)

网址不应为('1'),您需要更改以下行

$.ajax({url: "test9.php?id=('1')"

$.ajax({url: "test9.php?id=1"

答案 2 :(得分:0)

你可以通过AJAX数据属性传递你的id,就像这样。

获取请求

    $.ajax({

        type:'get',
        url:'test9.php',
        data:{'val':value},
        success:function(data){
              }

通过邮寄请求

    $.ajax({

        type:'get',
        url:'test9.php',
        data:{'val':value},
        success:function(data){
              }