我有网址,我想从cronjobs执行此网址。在我的php文件中有javascript代码导出高图。
这是我的代码:
<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中执行,我什么也得不到。任何人都知道如何用cronjobs执行它?
答案 0 :(得分:0)
JavaScript是一种在浏览器中运行的客户端语言。 但是,您可以使用PhantomJS之类的东西从服务器端运行js。 请看:http://phantomjs.org/
修改强>
从here下载必要的软件包。请注意,这些是预编译的软件包,我们假设您使用的是Linux。
您只需保存幻像&#39;文件系统中的文件(可以使用crontab访问)。
将您的javascript保存为.js文件扩展名。
添加如下的cron作业:
30 08 10 06 * / path / to / phantomjs javscriptfile.js
这将于6月30日上午8:30运行(您需要在需要时安排它。)
希望这应该按预期工作,虽然看起来您使用的是jQuery函数,因此您可能需要在.js文件中包含jQuery源代码。