我的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');
}
}
?>
答案 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){
}