我有url,我想从cronjobs中执行这个url。在我的php文件中,有javascript代码来导出High图表。
这是我的密码:
<script>
$(function () {
var options = {
title: {
text: 'Daily Chart',
x: -20 //center
},
exporting: {
url: 'http://export.highcharts.com/'
},
xAxis: {
categories: [
'A','B',
]
},
yAxis: {
title: {
text: 'IDR'
},
},
tooltip: {
valueSuffix: '°C'
},
series: [{
showInLegend: false,
name: 'Daily',
data: [
1,2
]
}]
};
var obj = {},
exportUrl = options.exporting.url;
obj.options = JSON.stringify(options);
obj.type = 'image/png';
obj.async = true;
var link=$.ajax({
type: 'post',
url: exportUrl,
data: obj,
dataType: 'html',
context: document.body,
global: false,
async:false,
success: function (data) {
var result=exportUrl+data;
return result;
}
}).responseText;
$.ajax({
type: 'get',
url: 'http://webserver2/index.php/report/render?link='+link+'&id=1',
data: link,
success: function (data2) {
//alert(data2);
}
});
});
</script>如果我在浏览器中执行它,我将获得文件highcart.png到我的服务器。但是如果我执行任务,我什么也得不到。有谁知道如何用cronjobs来执行它??
发布于 2014-05-19 02:00:35
JavaScript是一种在浏览器中运行的客户端语言.但是,您可以使用类似于PhantomJS的东西从服务器端运行js。看:http://phantomjs.org/
编辑:
从这里下载必要的包。请注意,这些是预编译的包,我们假设您使用的是Linux。
您只需将“幻影in”文件保存在某个文件系统中(您可以使用crontab访问该文件系统)。
将javascript保存为.js文件扩展名。
添加一个cron作业,如:
30 08 10 06 */path/to/幻影javscriptfile.js
这将在6月30日上午8时30分播出(你需要在你想的时候安排它)。
希望这能如愿以偿,尽管看起来您确实在使用jQuery函数,因此您可能需要在.js文件中包含jQuery源代码。
https://stackoverflow.com/questions/23728653
复制相似问题