如何解决CakePHP3 JSON调用上的模板文件错误路径
我刚刚将ajax调用转换为返回json而不是HTML。
如果我
为什么蛋糕的处理方式不同?
为什么要在模板路径中添加额外的/ json?
code: 500
file: "Forms/json/json/get_more.ctp"
line: 1092
message: "Template file "Forms/json/json/get_more.ctp" is missing."
url: "/forms/getMore/60498/0/6?_=1599996955252"
在URL中添加.json没有区别。
我已经添加到routes.PHP
$routes->extensions(['json','xml','html']);
我需要使用模板才能使我的助手处理一些数据,所以我有$this->set('_serialize',false);
解决方法
确保您已在routes.php中添加了代码
$routes->extensions(['json']);
函数内部
Router::scope('/',function (RouteBuilder $routes) {
现在,在控制器中,假设$ responseArray是您要在json中获得的响应,则必须在操作结束时编写以下行。
$this->set('responseRoot',$responseArray);
$this->set('_serialize',array('responseRoot'));
删除ctp文件,.json类型请求不需要它们,除非您想要特定的格式类型。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。