2016-05-30 2 views
0

У меня есть php-файл (index.php), который вызывает другой файл (ajax.php), который состоит из javascript и ajax-вызовов.ajax call with cronjob

index.php, $mid переменная извлекается из базы данных:

<?php 
$url = "http://localhost/parser/ajax.php?m=$mid"; 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_exec($ch); 

ajax.php:

<?php 
$mid = $_GET["mid"]; 

var r = { 
    feedLife: 60, 
    feedParams: { 
     competition: '129', 
     season: SEASON, 
     sport: SPORT, 
     match: <?php echo $mid ?>, 
    } 
    }; 

$.ajax({ 
    url: 'upload_json.php?m=<?php echo $mid ?>', 
    dataType: 'json', 
    type: 'POST', 
    contentType: 'application/json', 
    data: JSON.stringify(a), 
    processData: false, 
    success: function(){ 

    }, 
    error: function(jqXhr, textStatus, errorThrown){ 
     console.log(errorThrown); 
    } 
}); 

Я хочу запустить хрон, но консоль не может разобрать JavaScript, я не знаю, как добиться автоматизации? Есть идеи? Может быть, phantomJS может сделать трюк?

заранее спасибо

+0

у вас есть представление о том, ServerSide и исполнения, и клиентскую, что JavaScript выполняется на клиентской стороне Во время работы PHP на сервере? – messerbill

+0

Возможный дубликат [В чем разница между клиентским и серверным программированием?] (Http://stackoverflow.com/questions/13840429/what-is-the-difference-between-client-side-and-server -side-programming) –

+0

Вы можете имитировать запрос AJAX с помощью cURL. Если вы не хотите проходить много вызовов cURL, вам следует рассмотреть PhantomJS. Вы знаете, что делать, поэтому начните –

ответ

0

вы не можете писать JavaScript в PHP файл

попробовать использовать NodeJs + Cron

+0

Я сказал, что знаю это, я прошу об альтернативном способе его достижения ... –

+0

@ s-kav пытается использовать NodeJs + Cron – Dumkaaa

-1

У вас есть ошибка, вам нужно близко PHP тег после переменной $ середине. Пример

<?php 
$mid = $_GET["mid"]; 

?> 
+0

Это была только опечатка. –

0

конкатенации вы все Javascript код в строку и завернуть в тег и использовать эхо

<?php 
$mid = $_GET["mid"]; 

$script = "<script> var r = { 
    feedLife: 60, 
    feedParams: { 
     competition: '129', 
     season: SEASON, 
     sport: SPORT, 
     match: '".$mid."', 
    } 
    }; 

$.ajax({ 
    url: 'upload_json.php?m=".$mid."', 
    dataType: 'json', 
    type: 'POST', 
    contentType: 'application/json', 
    data: JSON.stringify(a), 
    processData: false, 
    success: function(){ 

    }, 
    error: function(jqXhr, textStatus, errorThrown){ 
     console.log(errorThrown); 
    } 
});</script>"; 

echo $script; 
+0

это не сработает. попытаться запустить себя – Dumkaaa