Мне не удается загрузить php-файл, содержащий эхо в div без перезагрузки ..
Это мой php файл
<?php
$images = get_field('gallery');
if ( $images ) : ?>
<ul class="grid" >
<li class="grid-sizer"></li><!-- for Masonry column width -->
<?php foreach( $images as $image ) : ?>
<li><figure><img src="<?php echo $image['url']; ?>" /></figure></li>
<?php endforeach; ?>
</ul>
<?php endif; ?>
Это мой див
<div id="container"></div>
И я попробовал с этим JavaScript
$.ajax({
type : 'GET',
url : 'file.php',
success : function(data){
$('#container').html(data);
},
Но только HTML-элементы загружаются ..
Спасибо,
Сделай это с load()
;
$('#container').load('file.php');
Попробуйте использовать более простой код, подобный этому:
<?php $images = get_field('gallery');
if ( $images ) {
?>
<ul class="grid" >
<li class="grid-sizer"></li><!-- for Masonry column width -->
<?php
foreach( $images as $image ) { ?>
<li>
<figure>
<img src="<?php echo $image['url']; ?>" />
</figure>
</li>
<?php }; ?>
</li>
</ul>
<?php }; ?>
$('#refreshh').click(function(){
$('#container').load('file.php');// (get_field etc.)
});
Вы хотите что-то подобное?
но ваш ‘file.php’ может иметь все параметры
Я пробовал код с некоторыми изменениями, например, специально добавил скрипт в php файл, закрыл скобки функции ajax и передал данные через функцию ajax.
В одном php файле скажем script.php
<script>
jQuery(document).ready(function(){
jQuery.ajax({
type : 'GET',
images : '<?php echo get_field('gallery');?>',
url : 'file.php',
success : function(data){
$('#container').html(data);
}
});
});
</script>
И в файле .php
<?php $images = $_GET['images'];
if ( $images ) : ?>
<ul class="grid" >
<li class="grid-sizer"></li><!-- for Masonry column width -->
<?php foreach( $images as $image ) : ?>
<li><figure><img src="<?php echo $image['url']; ?>" /></figure></li>
<?php endforeach; ?>
</ul>
<?php endif; ?>