Привет я пытаюсь получить 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 на сервере, пожалуйста, помогите
Предоставленный вами код недостаточно. Вы должны вернуть свой результат из функции в виде массива и закодировать его с помощью функции php json_encode или в любом другом формате обмена. см. заявление ниже.
$returnResult = json_encode($array);
Затем используйте метод $ .ajax ({}) на стороне клиента. Смотрите пример ниже.
$.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
Вы определили свой класс и его метод там, но не вызываете его на основе кода, который вы нам показываете. Вызовите метод «generateGallery» из класса «main», и он должен работать.