在jquerypost之后调用另一个php函数
我正确地执行了jquery POST,但是我想在控制器内调用另一个PHP函数编辑下面的代码很好用……我只是个白痴。请把这个关上 以下是设置:在jquerypost之后调用另一个php函数,php,codeigniter,Php,Codeigniter,我正确地执行了jquery POST,但是我想在控制器内调用另一个PHP函数编辑下面的代码很好用……我只是个白痴。请把这个关上 以下是设置: class controller extends CI_Controller { function con1() { //retrieve post variable $this->con2() } function con2() { //do something $this->my_model->get_
class controller extends CI_Controller {
function con1() {
//retrieve post variable
$this->con2()
}
function con2() {
//do something
$this->my_model->get_results() //fails
}
}
Jquery发布到con1
,但是当我执行$this->con2()
时,它将失败。不管怎样,我能让它工作吗?另外,jquery发布数据后是否可以调用模型
感谢您没有使用codeigniter,但我怀疑使用post数组重定向到con1中的con2会解决问题。不清楚您不能做什么,但为什么您要处理控制器的方法,而模型就是为了这个目的而做的? 模型的目的是成为可重用的东西,所以为什么不在
con1()
方法中正确地调用它呢
class Controller extends CI_Controller {
function con1() {
$this->load->model('my_model');
//retrieve post variable
echo $this->my_model->get_results();
}
}
此外,如果您想获取模型的值,模型也可以使用post变量。
如果你用更多的细节来扩展你的答案,我将编辑和更新我的问题,到目前为止,这只是一个关于什么是错的猜测。如果get\u result()
方法实际返回了一些东西(您需要回显),那么我显示的代码应该可以运行
如果“如何调用模型中的函数”意味着如何在另一个模型的方法中调用模型的方法,那么,它的工作原理与任何php类方法的调用类似,
$this->other_method()代码>默认情况下它应该可以工作……为什么不在这里发布整个代码?这样我们可以看到代码有什么问题。是的,重定向允许我调用另一个函数,但是所有上下文都将丢失。这个重定向在控制器中工作,但是我如何在URL不可访问的模型中实现同样的效果呢?谢谢你的评论。我倾向于严格地将数据库相关的材料放在模型中。如果我重用了大量的代码,我通常会将其放在库中。我终于让xdebug开始工作了,但它看起来像是get_result()
导致了Codeigniter的会话出现问题。@Justin模型不是唯一用于数据库的,而是用于任何可以使它们在不同情况下可用的代码细化;有时使用库是正确的,在这种情况下,我的建议仍然有效:不要重定向到另一个控制器的方法,只需在需要的地方调用库即可