Используйте Ajax для отправки данных на внешнюю страницу, а затем загрузите указанную внешнюю страницу - PullRequest
0 голосов
/ 30 августа 2011

У меня есть галерея миниатюр, заполненная из базы данных с использованием php. Каждый эскиз также является ссылкой. Я хотел бы иметь возможность загружать внешнюю php-страницу в каждом случае с большой версией каждого эскиза в окружении связанных изображений.

Все таблицы базы данных настроены правильно в реляционном смысле, но я не уверен в функциональности возможности отправки данных, в данном случае imgId, со страницы галереи миниатюр на внешнюю страницу, и загрузить внешнюю страницу одновременно.

Я думал, что это возможно сделать с отправкой формы, но так как мне нужны эти функции для каждой ссылки на миниатюру, я подумал, что Ajax будет работать с использованием jQuery. Но, увы, данные не передаются, когда я нажимаю на ссылку.

Надеюсь, кто-нибудь может дать мне совет. Заранее спасибо.

HTML:

<a target="_blank" href="secondary_imgs.php" class="gallery" value="16">
   <img src="new_arrivals_img/thumbnails/boss-skaz1_black_front.jpg">
</a>

JQuery:

$('.gallery').click(function(){
    $.get("secondary_imgs.php", { imgId: $('.gallery').attr('value') });
});

Ответы [ 3 ]

3 голосов
/ 30 августа 2011

Используйте $ (this) внутри функции для ссылки на выбранную галерею

$('.gallery').click(function(){
    $.get("secondary_imgs.php", { imgId: $(this).attr('value') });
});
0 голосов
/ 30 августа 2011

Хорошо, я чувствую себя немного глупо, но я понял, что все, что мне нужно сделать, это передать данные через URL Приведенный ниже код PHP показывает, что я имею в виду, и я благодарю тех, кто помог мне с этой проблемой. Я виноват в том, что сделал это более сложным, чем нужно.

Мой вопрос, однако, безопасно ли размещать данные в href, как я показываю ниже? Я помню, как кто-то упоминал потенциальную проблему с ионами, касающимися пауков Google и тому подобного.

PHP:

while($row = mysql_fetch_assoc($result_pag_data)) { 
    echo "<a target='_blank' href='secondary_imgs.php?imgId=".$row['imgId']."'></a>";
}
0 голосов
/ 30 августа 2011

Попробуйте это:

$('.gallery').click(function(){
    $.get("secondary_imgs.php", { imgId: $(this).attr('value') }, function(data) {
        $('body').append(data);
    });
});

Если это ничего не дает, когда вы нажимаете на него, перейдите к «/secondary_imgs.php?imgID=xxx» и посмотрите, правильно ли он возвращает данные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...