在没有重新加载的情况下加载包含div的php文件

时间:2014-09-26 18:22:11

标签: php ajax load echo

我无法在没有重新加载的情况下在div中加载包含echo的php文件。 这是我的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

<div id="container"></div>

我试过这个javascript

$.ajax({
     type : 'GET',
     url : 'file.php',
     success : function(data){

          $('#container').html(data);
     },

但只加载了html元素.. 谢谢,

4 个答案:

答案 0 :(得分:0)

尝试使用更简单的代码:

<?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 }; ?> 

答案 1 :(得分:0)

使用load();

执行此操作
$('#container').load('file.php');

答案 2 :(得分:0)

我尝试了对代码进行了一些更改,例如故意在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>

并在file.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; ?> 

答案 3 :(得分:0)

$('#refreshh').click(function(){
     $('#container').load('file.php');// (get_field etc.)
});

你想要这样的东西吗?

但是,你的'file.php'可以包含所有参数