Codeigniter - 无法命中类中的方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Codeigniter - 无法命中类中的方法相关的知识,希望对你有一定的参考价值。

这是我的第一个CI项目,请原谅我。

我根本无法使用AJAX调用方法。它一直在Web Inspector中成为404。

我有一个名为“home.php”的控制器。它正在发挥作用。我可以登陆我的主页。

然后我在悬停事件中触发了这个AJAX调用

function showDataWindow(){
    // i might switch this to data attr, but for now item IDs are contained in class
    var thisClass = $(this).attr('class');
    var thisIDpos = thisClass.indexOf("id-")+3;
    var thisID = thisClass.substr(thisIDpos, 3);
    alert(thisID); // alerting correctly
    $.post('getMoreInfo', { ID: thisID},
        function(data) {
             .. act on data

我根本找不到我打电话的方法 - 获取更多信息。总是404。

我的控制器中有一个home.php类,它的设置为默认值,因为我登陆主页并获取索引,所以它有效。但在那个家庭控制器也是我的getMoreInfo函数...

public function getMoreInfo()
{
    $ID = $_POST['ID'];
    $this->load->model('Artist_model');
    $assocReturned = $this->Artist_model->get_more_info($ID);
    echo json_encode($assocReturned);
} 

而且我觉得有一个小小的MC Hammer守卫着这个功能。 “你不能碰这个”。他用他的小降落伞裤子和微小的褪色嘲笑我。

我认为一定是我在Jquery AJAX帖子中做我的URI的方式?我的htaccess中有索引重写(我确实有点模糊)

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?$1 [L]

但我在AJAX调用中尝试了几乎每个URI排列

www.mySite.com/index.php/home/getMoreInfo
index.php/home/getMoreInfo
index.php/getMoreInfo
/home/getMoreInfo
home/getMoreInfo
/getMoreInfo
getMoreInfo

!

没有人奏效。

答案

您需要调用的内容取决于路由器的配置方式。

默认调用将是/home/getMoreInfo,但如果您重新配置了路由器,则可以更改。参考:http://codeigniter.com/user_guide/general/routing.html

以上是关于Codeigniter - 无法命中类中的方法的主要内容,如果未能解决你的问题,请参考以下文章

codeigniter分页类中的自定义查询

codeigniter 类中的 api

CodeIgniter:My_Lang 中的 get_instance

IntelliJ:Scala 测试中的断点不会被命中

未找到 Codeigniter Facebook\Facebook 类中的 Facebook 登录

本机代码中的断点无法在 Android Studio 上命中 [重复]