每当我运行命令“ bundle exec cap登台部署”时,输入要部署的分支名称后,它就会显示 ExecJS :: ProgramError意外字符'`'。但是,我似乎无法在我的.js文件中找到它。我怀疑问题出在$ .param(query)部分。但是我不知道如何解决它。
抱歉,代码混乱。我还在学习。谢谢。
$(function() {
$("#export_reports").submit(function(e) {
var from_date = $('input[name ="from_date"]').val();
var to_date = $('input[name ="to_date"]').val();
var type = $('select[name ="report_type"]').val();
type = type == "report" ? "json" : type;
var table = $('select[name ="spree_table"]').val();
var url = '/admin/generate/reports/';
var query = {
spree_table: table,report_type: 'report',from_date: from_date,to_date: to_date,commit: 'Generate'
}
var api = url + table.toString().toLowerCase() + "_" + from_date.toString().replace(/\//g,'_')+ '_' + to_date.toString().replace(/\//g,'_') + '.' + type;
if (type == 'json') {
e.preventDefault();
cleanUpTable();
$.ajax({
'url': api + '?' + $.param(query),'method': "GET",'contentType': 'application/json'
}).done( function(response) {
var columns = [];
if (response.data.length > 0) {
var keys = Object.keys(response.data[0]);
for (var i = 0; i < keys.length; i++) {
columns.push({
'title': keys[i],'data': keys[i]
})
}
$('#report_table').DataTable( {
"aaData": response.data,"columns": columns,responsive: true,"columnDefs": [
{
"render": function ( data,type,row ) {
return `<a href="/admin/ads/${row.id}/edit" target="_blank">${row.id}</a>`;
},"targets": 0
},{
"render": function ( data,row ) {
return `<a href="/admin/ads/${row.id}/edit" target="_blank">${row.code}</a>`;
},"targets": 1
},row ) {
return `<a href="/admin/reports/ads/${row.id}/orders?${$.param(query)}" target="_blank">${row.total}</a>`;
},"targets": 2
},row ) {
return `<a href="/admin/reports/ads/${row.id}/orders?${$.param(query)}" target="_blank">${row.booking}</a>`;
},"targets": 3
},]
})
} else {
alert("No records found.");
}
});
$("#error_report").hide();
}else{
$(this).attr('action',api);
}
});
});
function cleanUpTable() {
$('#report_table').hide();
if ($.fn.dataTable.isDataTable('#report_table')) {
$('#report_table').DataTable().clear();
$('#report_table').DataTable().destroy();
}
$('#report_table thead tr').html('');
$('#report_table').show();
}