jquery — выполняет PHP на сервере с AJAX

Привет я пытаюсь получить 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 на сервере, пожалуйста, помогите

1

Решение

Предоставленный вами код недостаточно. Вы должны вернуть свой результат из функции в виде массива и закодировать его с помощью функции 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

1

Другие решения

Вы определили свой класс и его метод там, но не вызываете его на основе кода, который вы нам показываете. Вызовите метод «generateGallery» из класса «main», и он должен работать.

1

По вопросам рекламы [email protected]