これは私の最初の 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
!
そして、誰も働いていません。