Codeigniter - 无法命中类中的方法

时间:2012-09-24 19:18:52

标签: php jquery ajax 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

我只能找到我正在调用的方法 - getMoreInfo。总是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

<!/ P>

没有人奏效。

1 个答案:

答案 0 :(得分:1)

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

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