これは私の最初の Codeigniter プロジェクトであり、切腹をコミットしようとしています。
状況は次のとおりです。
私は写真のギャラリーを持っています。ユーザーがそれらの 1 つにカーソルを合わせると、サイド div に AJAX によって呼び出された詳細情報が入力されます。
私はそれを機能させることができません。Dev Tools>Network>XHR でこれを取得し続けます:
Not Found
The requested URL /ajax/getMoreInfo was not found on this server.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
私は何を間違っていますか?誰かがいくつかの「ベスト プラクティス」を削除したい場合は、私は完全に耳を傾けます。具体的には..ここで行っているように変数としてではなく、$.post (ajax/getMoreInfo/ID) で送信された URL を介して ajax パラメーターが渡される他の例を見てきました。私は完全に間違っていますか?(それが私の404の原因だとは思いませんが)。
これは、ホバー時に呼び出される私のJS関数です
function showDataWindow(){
var thisClass = $(this).attr('class');
var thisIDpos = thisClass.indexOf("id-")+3;
var thisID = thisClass.substr(thisIDpos, 3);
/// alert(thisID) <- alerts correctly
$.post('ajax/getMoreInfo',
{ ID: thisID },
function(data) {
.. do stuff with data
/controllers に ajax.php という名前のコントローラーがあります
<?php
class Ajax extends CI_Controller {
function __construct() {
parent::__construct();
}
public function getMoreInfo()
{
$ID = $this->input->post('ID');
$this->load->model('Artist_model','',TRUE);
$more_info = $this->Artist_model->get_more_info($ID);
echo json_encode($more_info);
}
}
そして /models の私のモデル...
<?php
class Artist_model extends CI_Model {
function __construct()
{
parent::__construct();
}
public function get_more_info($ID)
{
$query = $this->db->query('SELECT * FROM `NOIRusers` WHERE `UID` = `$ID`');
if ($query->num_rows() > 0)
{
foreach ($query->result() as $result)
{
$moreInfo['memberID'] =$result->UID;
$moreInfo['firstName'] =$result->UFname;
$moreInfo['lastName'] =$result->ULname;
$moreInfo['large_image_location'] =$result->large_image_location;
..more of these..
}
}
}
助けてくれてありがとう!