Cha*_*h M 2 php cakephp cakephp-2.3
我在我的项目中使用CakePHP 2.X并且一度停留.
首先让你知道我使用表单的POST方法实现了搜索功能,但是为此我在分页中发现了错误.过滤器无法支持下一页.所以我将form方法更改为GET.现在它工作正常(不完全是我需要的,所有请求的数据显示在URL中),但现在我正处于创建另一个问题的地步.
当我尝试搜索任何内容(DB中的现有数据)时,我得到以下错误,并使用分页转到下一页,现在我更改了在DB中不匹配的搜索关键字(数据库中不存在数据).
错误:在此服务器上找不到请求的地址
在POST方法时哪个不存在.
我已尝试在调试模式(Configure::write('debug', 2))中使用所有选项.但没有得到任何帮助.
任何人都可以帮助我吗?真的很感激!
谢谢.
小智 5
答案很简单.
lib/Cake/Controller/PaginatorComponent.php
if ($requestedPage > $page) {
throw new NotFoundException();
}
Run Code Online (Sandbox Code Playgroud)
所以只需捕获控制器中的错误.
public function index() {
try {
$this->Paginator->paginate();
} catch (NotFoundException $e) {
//Do something here like redirecting to first or last page.
//$this->request->params['paging'] will give you required info.
}
}
Run Code Online (Sandbox Code Playgroud)
这就是原因:http://book.cakephp.org/2.0/en/core-libraries/components/pagination.html#out-of-range-page-requests
| 归档时间: |
|
| 查看次数: |
7590 次 |
| 最近记录: |