3

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

没有一个奏效。

4

1 回答 1

1

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

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

于 2012-09-24T19:29:16.517 回答