angularjs - 使用 cake php 和 AngularJS 创建和下载 csv 文件
问题描述
public function userExport() {
$list = array
(
"Peter,Griffin,Oslo,Norway",
"Glenn,Quagmire,Oslo,Norway",
);
$file = fopen("php://output", "w");
foreach ($list as $line) {
fputcsv($file, explode(',', $line));
}
fclose($file);
header('Content-type: text/csv');
header('Content-Disposition: attachment; filename= "abc.csv"');
$this->response->download($file);
return;
}
当我从我的角度服务调用这个控制器时,上面的控制器应该下载 CSV 文件。但它显示错误
错误:
未找到 UsersController::userExport() 的视图。
上面的代码是正确的吗下面是调用这个控制器的角度服务代码
exportUsers: function (success, failure) {
$http({
method: 'GET',
cache: false,
url: 'api/users/userExport'
}).success(function (data) {
success && success(data);
}).error(function (data, status) {
failure && failure(data, status);
});
}
解决方案
您收到Error: The view for UsersController::userExport() was not found错误,因为相应的 .ctp 文件在您的 Views 文件夹中不可用。
在 Users 文件夹下创建一个 user_export.ctp 文件,或者在您的 userExport 函数中添加以下行。
$this->autoRender = false;
推荐阅读
- html - HTML 相对链接链接到导航栏覆盖的锚点
- angular - 使用无效数据调用 DocumentReference.set()。不支持的字段值:未定义
- windows - StoreMI - 创建可启动的 StoreMI 灰显
- php - 使用基于特定标记 ID 的 Foreach 循环提取 XML 数据
- excel - 动态条件格式
- python - 添加新小部件时,滚动区域无法展开(滚动)
- linear-regression - 在回归中解释百分比单位和每 1000 人的比率
- amazon-web-services - Jenkins AWS Spot 队列插件不会自动扩展 Spot 实例
- git - 从 gitlab 私人仓库上的特定文件夹安装依赖项
- android-studio - AndroidX 重构支持会代替 android.support.v4 和 android.support.v7 工作吗?