【问题标题】:Load a php file that contains echo in a div without reload在 div 中加载包含 echo 的 php 文件,无需重新加载
【发布时间】:2014-09-26 18:22:10
【问题描述】:

如果不重新加载,我无法在 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 元素被加载.. 谢谢,

【问题讨论】:

  • 把文件名改成file.html?

标签: php ajax load echo


【解决方案1】:

使用load() 进行操作;

$('#container').load('file.php');

【讨论】:

  • 它返回什么@user3334919? PHP 不处理 HTML 并返回它是非常不寻常的。 get_field() 定义在哪里?
  • 对不起,我忘了提这个,我使用了一个 worpress 管理插件,get_field 允许在数据库中检索多个图像..
【解决方案2】:

尝试使用更简单的代码,如下所示:

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

【讨论】:

  • 你确定 $images 是数组吗?尝试使用is_array($images)检查它
【解决方案3】:
$('#refreshh').click(function(){
     $('#container').load('file.php');// (get_field etc.)
});

你想要这样的东西吗?

但是,您的“file.php”可以包含所有参数

【讨论】:

    【解决方案4】:

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

    【讨论】:

    • 还是不行,可能是我的wordpress插件的原因。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-09
    • 2015-01-06
    • 2015-07-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多