嗨,我正在做一个codeigniter项目。我想在10秒后执行一个php函数。当用户在10秒后访问该特定页面时,我希望执行该php函数。在php函数中,我设置了一个计数器,它在database中将特定表加1。我试过使用AJAX,但没有得到想要的结果。请用例子来解释我,因为我是ajax的新手。先谢谢你...
发布于 2013-12-23 18:06:15
尝尝这个
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);
});在您的Controller write方法中,如下所示
public function Mymethod()
{
$token = $this->input->post('token');
if ( $token == '12majid18' )
{
/*call your model and insert your data in Table*/
}
}发布于 2013-12-23 18:36:58
@Majid Golshadi的答案是正确的。
工作版本在这里
请查看一直加载的内容(如header_view.php)
添加以下几行
<script type="text/javascript">
var _baseUrl = "<?= base_url() ?>";
</script>这使得您的base_url可以在页面中的JavaScript anywhere中使用(但确保将其放在页面的“顶部”位置)
并按字面意思使用@Majid Golshadi的答案。
$(document).ready(function() {
setTimeout(function() {
$.ajax({
url: _baseUrl + "/your/controller/param",
type: 'post',
data: {"token": "your_token"}, });
}, 10000);
});发布于 2013-12-23 19:37:23
使用jquery,这将是最简单、最快的方法
`//设置超时为3秒=3000毫秒
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
}https://stackoverflow.com/questions/20741035
复制相似问题