Привет, я работаю над проектом codeigniter
. Я хочу выполнить функцию php после интервала в 10 секунд. Когда пользователь посещает эту страницу через 10 секунд, я хочу, чтобы эта функция php
выполнялась. В этой php
функции я установил счетчик, который добавляет 1 к конкретной таблице в database
. Я попытался использовать AJAX
но не получил желаемого результата. Пожалуйста, объясните мне примеры, поскольку я новичок в ajax
. Заранее спасибо…
Ответ Маджида Гольшади – правильный ответ.
Рабочая версия здесь
Пожалуйста, header_view.php
что загружается все время (например, header_view.php
)
добавьте несколько строк
<script type="text/javascript"> var _baseUrl = "<?= base_url() ?>"; </script>
Это base_url
что ваш base_url
можно использовать в JavaScript
любом месте страницы (но не забудьте его где-нибудь на «TOP» страницы)
и лирические используют @ Majid Golshadi ответ таким образом
$(document).ready(function() { setTimeout(function() { $.ajax({ url: _baseUrl + "/your/controller/param", type: 'post', data: {"token": "your_token"}, }); }, 10000); });
используя 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 }
попробуй это
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); });
и в методе Write Controller, подобном этому
public function Mymethod() { $token = $this->input->post('token'); if ( $token == '12majid18' ) { /*call your model and insert your data in Table*/ } }
вы можете попробовать следующее:
window.jQuery(function(){ var y=setInterval(function() { window.jQuery.post(url,{"token": "your_token"},function(res){ alert(res); }); }, 10000); });