Javascript Ajax没有对php函数进行函数调用
我在脚本中有ajax函数,如下所示:Javascript Ajax没有对php函数进行函数调用,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我在脚本中有ajax函数,如下所示: $.ajax({ url: 'http://www.somesitename.com/admin/exportToCSVAction', type: 'GET', data:{}, cache: false, success: function() { alert("sucess"); }, error: function () { alert("error"); } }); php中的exportToCS
$.ajax({
url: 'http://www.somesitename.com/admin/exportToCSVAction',
type: 'GET',
data:{},
cache: false,
success: function() {
alert("sucess");
},
error: function () {
alert("error");
}
});
php中的exportToCSVAction函数为:
public function exportToCSVAction()
{
$exportBatch = 10;
$order = $this->getTableGateway('order');
$select = new Select();
$select->from('order');
$data = $order->selectWith($select)->toArray();
$batchDir = __DIR__ . '/../../../../../data/export/batch/' . $exportBatch;
mkdir($batchDir);
$fileNameWithFilePath=$batchDir . '/order2.csv';
if (file_exists($fileNameWithFilePath))
{
$this->downloadOrderCSVAction($fileNameWithFilePath);
}
else
{
$csvFile = fopen($batchDir . '/order2.csv', 'w');
$i = 0;
foreach($data as $record) {
if($i==0) fputcsv($csvFile, $this->getCsvHeader($record));
fputcsv($csvFile, $this->updateCsvLine($record));
$i++;
}
fclose($csvFile);
}
}
但每次它都会将错误作为警报返回给我
当我通过链接直接运行它时:
它正确地返回结果。按预期下载文件
但是通过ajax,它给了我一个错误警告
通过“检查元件网络”选项卡,我得到以下信息:
请帮帮我
我在哪里犯错
注:
我还尝试从ajax中删除数据,但没有效果
编辑:
现在有了这个密码,我就成功了。但是不下载文件您将获得一个404,因此要么控制器存在路由问题,要么控制器操作中存在致命错误。调试控制器操作的一种方法是尝试在ExportTocsAction函数的开头放置错误日志,类似于:
error_log("BEGINNING OF FUNCTION");
然后检查apache错误日志,看看它是否记录了错误。如果它确实记录了错误,那么尝试将另一个error_log语句放在函数中的其他语句之后,并查看这些语句是否被记录。如果没有记录错误,您将知道是哪条语句导致脚本死亡。alerterror;一点信息都没有。记录错误代码和文本,如中所述。您不需要数据:在使用GET-try-once删除数据时,我也尝试了删除数据,但没有人可以访问apache错误日志?我猜这是无效的
error_log("BEGINNING OF FUNCTION");