您正在开展codeigniter
项目。我希望在10秒的间隔后执行一个php函数。当用户在10秒后访问该特定页面时,我希望执行php
功能。在php
函数中,我设置了一个计数器,它将特定表中的1加到database
中。我尝试过使用AJAX
,但没有得到理想的结果。请向我解释我的例子,因为我是ajax
的新人。提前谢谢......
答案 0 :(得分:0)
试试这个
setTimeout(function(){
$.ajax({
url: "<?php echo base_url('your/controller/address');?>",
type: 'post',
data: {"token": "your_token"},
});
}, 10000);
实施例
在您的视图中
$(document).ready(function(){
setTimeout(function(){
$.ajax({
url: "<?php echo base_url('MyController/Mymethod');?>",
type: 'post',
data: {"token": "12majid18"},
});
}, 10000);
});
并在你的控制器中写这样的方法
public function Mymethod()
{
$token = $this->input->post('token');
if ( $token == '12majid18' )
{
/*call your model and insert your data in Table*/
}
}
答案 1 :(得分:0)
@Majid Golshadi的答案是正确的答案。
工作版本在这里
请在视图中一直加载(例如header_view.php
)
添加这几行
<script type="text/javascript">
var _baseUrl = "<?= base_url() ?>";
</script>
这使得base_url
可以在JavaScript
页面的任何位置使用(但请务必将其放在页面“TOP”的某处)
并以这种方式使用@Majid Golshadi的回答
$(document).ready(function() {
setTimeout(function() {
$.ajax({
url: _baseUrl + "/your/controller/param",
type: 'post',
data: {"token": "your_token"}, });
}, 10000);
});
答案 2 :(得分:0)
使用jquery这将是最简单,最快速的方法
`//将超时设置为3秒= 3千毫秒
setInterval(function(){
//ajax call
$.ajax({
url: _baseUrl + "/controller_name/function_name/", //the url where you want to fetch the data
type: 'post', //type of request POST or GET
data: {"data": "value"}, }); //data passed to controller
},3000);`
您可以使用在控制器中
function function_name(){
$var = $this->input->post();//getting data passed from ajax
//process here...
echo json_encode($var)//parses and returns the processed value
}
答案 3 :(得分:0)
你可以试试这个:
window.jQuery(function(){
var y=setInterval(function() {
window.jQuery.post(url,{"token": "your_token"},function(res){
alert(res);
});
}, 10000);
});