Codeigniter - 无法命中类中的方法

问题描述 投票:4回答:1

这是我的第一个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

!

没有人奏效。

php jquery ajax codeigniter
1个回答
1
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.