У меня есть кнопка для загрузки листа Excel.Он отлично работает на моем локальном сервере разработки, но не работает на работающем сервере.
Jquery:
$(document).on('click','.export',function(){
var request = new XMLHttpRequest();
request.open('GET', 'module/portal/custom_alerts/export/xlsalert.php?searchID='+$(this).prop('id').split('_')[0]+
'&feedbackmode='+$(this).prop('id').split('_')[1], true);
request.setRequestHeader('Content-Type', 'application/vnd.ms-excel; charset=utf-8');
request.setRequestHeader('Content-Type', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
request.setRequestHeader('Cache-Control','max-age=0');
request.responseType = 'blob';
var fileName='customalert.xlsx';
request.onload = function(e) {
if (this.status === 200) {
var blob = this.response;
if(window.navigator.msSaveOrOpenBlob) {
window.navigator.msSaveBlob(blob, fileName);
}
else{
var downloadLink = window.document.createElement('a');
var contentTypeHeader = request.getResponseHeader("Content-Type");
downloadLink.href = window.URL.createObjectURL(new Blob([blob], { type: contentTypeHeader }));
downloadLink.download = fileName;
document.body.appendChild(downloadLink);
downloadLink.click();
document.body.removeChild(downloadLink);
}
}
};
request.send();
});
xlsalert.php
<?php
-----
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
ob_end_clean();
$objWriter->save('php://output');
exit;
?>
Если я прокомментирую эту строку $objWriter->save('php://output');
, Excel будет загружен, но с всплывающим предупреждением. Внутри консоли будет отображаться ошибка в request.send();
- Failed to load resource: the server responded with a status of 500 (Internal Server Error)
.Это происходит только для живого сервера.Я знаю, что что-то не так с живыми серверными расширениями или что-то в этом роде.Пожалуйста, помогите мне