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 に答える