您好我正在尝试让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,请帮助
答案 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