使用AJAX在服务器上执行PHP

时间:2015-07-21 10:23:24

标签: php jquery ajax server execute

您好我正在尝试让ajax在服务器上执行代码并返回结果:

<script>
    $(document).ready(function(){
        $.post('includes/gallery/gallery.php', function(data){
            $('#galleryTab').html(data);
        });
    });
</script>

class Main{
public static function generateGallery(){
    $path = 'includes/gallery/';
    $results = glob($path . '*' , GLOB_ONLYDIR);
    $dirCount = 0;
    foreach ($results as $result) {
        $resultBaseName = basename($result);
        if ($resultBaseName === '.' or $resultBaseName === '..') continue;
        echo '<h2>'.$resultBaseName.'</h2>';
        if (is_dir($path . '/' . $resultBaseName)) {
            $dir = $path.$resultBaseName.'/';
            $images = glob($dir."*.jpg");
            $imageCount = 0;
            foreach($images as $image) {
                echo '<div class="galleryImage" id="openImage'.$imageCount.$dirCount.'"><img src="'.$image.'" /></div>';
                $imageCount++;
            }
        }
        echo '<br />';
        $dirCount++;
    }
}
}

它没有在服务器上执行PHP,请帮助

2 个答案:

答案 0 :(得分:1)

您在那里定义了您的类及其方法,但您没有根据您向我们展示的代码调用它。从“main”类调用“generateGallery”方法,它应该可以工作。

答案 1 :(得分:1)

您提供的代码还不够。您应该将函数的结果作为数组返回,并使用json_encode php函数或任何其他交换格式对其进行编码。见下面的陈述。

            $returnResult = json_encode($array);

然后在客户端使用$ .ajax({})jquery方法。请参阅下面的示例。

 $.ajax({

      url : url , // <-your url here
      method : post or get ,
      data : { field: value }, //provide the values you are passing  <-
      dataType: json or html,  //data interchange format
      success : function(data){

        console.log(data.value);

       }

      });

请在此处查看jquery $ .ajax({})文档Jquery documentation link