我正在为我的 ajax 控制器编写一个“包罗万象”的方法。它被称为'ajax':P
这是它目前的样子
public function ajax($method = null) {
if ( ! $method OR ! request::is_ajax()) {
return false;
}
if (method_exists(array($this, 'searchModel'), $method)) {
echo $this->searchModel->$method();
}
exit;
}
如果这不是很明显,我希望 ajax 在它认为它不是 Ajax 请求时首先退出,然后检查$this->searchModel
它是否具有作为 ajax 方法的参数传入的方法。
如果它确实找到了该方法,它应该回显它的返回值然后退出。
我的问题是我method_exists()
找不到方法!我知道它确实存在......我什至硬编码(用于测试目的)我知道肯定存在的方法。
这让我有点发疯,有人能告诉我我做错了什么吗?
谢谢!
PS 我正在使用 Kohana 框架,但我认为这无关紧要。
更新
您认为将我的内部方法名称暴露给 JavaScript(即公共)可能会引起安全问题吗?