Ajax の Json メソッドを使用して、ファンシーボックス ギャラリーを作成しようとしています。スクリプトは 3 つの部分に分かれています
Ajax 呼び出し:
function getimage(id) {
$.ajax({
type: "GET",
dataType: "json",
url: 'getimages.php',
data:'user='+id,
success: function(data){
$.fancybox([data], {
'padding': 0,
'transitionIn': 'none',
'transitionOut': 'none',
'type' : 'image',
'changeFade' : 0,
'topRatio' : 0.2
});
}
});
return false
}
ページ getimages.php :
<?
include 'config.php'; connect(); session_start();
$user_id = trim(strip_tags($_GET['user']));
$query = "SELECT url as href FROM post WHERE user_id = '$user_id' AND type = 'photo'";
$arr = array();
$rs = mysql_query($query);
while($obj = mysql_fetch_object($rs)) {
$arr[] = $obj;
}
$json_response = json_encode($arr);
echo $json_response;
?>
Json レスポンス:
[{"href":"1df4fddf370b2e89949bbf5d6e11e037_1381707753.jpg"},{"href":"42a4701b45eb5b17cee7a8fe1beb4c48_1381957761.jpg"}]
簡単に言うと、各写真には「onclick」getimage(id) があり、「id」はユーザー ID です。したがって、getimage.php はすべての写真のユーザーを検索し、json メソッドを使用してこれらをギャラリーとして表示する必要があります。
問題は、 data が未定義のオブジェクトを返すことです(素敵な "alert(data)" obj,[obj] でテストしました)。では、何が問題なのですか?...そして、英語が下手で申し訳ありません。