私はこの問題に夢中になっていて、何が悪いのかわかりません。私がやろうとしているのは、データベースから現在のメニューの画像とサムネイルの URL を取得する単純な AJAX 呼び出しです。次のようなオブジェクト リテラル内に関数があります。
infoBlink: function() {
$.ajax({
url: 'ajax.php',
type: 'post',
dataType: 'json',
data: {
'menu_id' : $(".activeMenu").attr('id')
},
error: function(xhr, error){
console.log(xhr);
console.log(error);
},
sucess: function(data){
console.log("success");
console.log(data);
},
});
console.log("menu_id: " + $(".activeMenu").attr('id'));
},
次のコードで php ファイルを参照します。
require_once('fns/classes/graphics.php');
if(isset($_POST['menu_id']) && !empty($_POST['menu_id'])) {
$menu_id = $_POST['menu_id'];
$gfx = new Graphics();
$result = $gfx->getForId($menu_id);
echo json_encode($result);
}
次に、別のファイルにある Graphics クラスの関数を使用します。
public function getForId($menu_id)
{
$query = $this->db->prepare("select * from graphics where menu_id=? ");
$query->bindParam(1, $menu_id);
if ($query->execute()) {
return $query->fetchAll(PDO::FETCH_OBJ);
}
}
さて、問題は、ajax.php を単独でテストしたところ、データベースから必要なすべてのデータが完全に返されることです。次に例を示します。
[{"id":"4","menu_id":"2","name":"logo_v2_vert.jpg","url":"images\/logo_v2_vert.jpg","thumbnail_url":"images\/thumbnails\/logo_v2.jpg"}]
、しかし、AJAXを使用してもまったく何も起こりません。エラーも成功のコールバックも実行されず、何も実行されません。どんな助けでも大歓迎です。