Получить file_get_contents с помощью функции php с помощью ajax

мне нужно получить html-ответ двух функций php с помощью AJAX

Вот мой код

Home.php

<script>
    $( document ).ready(function(){
        var parameter = {
            "mynumber" : $('#mynumber').val()
    };
    $.ajax({
            data:  parameter , 
            url:   'script.php', 
            type:  'post',
            dataType: 'json',
            beforeSend: function () {
                    $("#loading").show();
            },
            success:  function (response) { 
                    $("#loading").hide();
                    $("#div1").html(response.reply1);                        
                    $("#div2").html(response.reply2);                        
            },                
    });   });
    </script>

И скрипт.php

function loopone(){
     for($a=0;$a<10;$a++){
          ?><div id = "mydiv"><?php echo $a;?></div>
     }
}
function casetwo(){
     if ($a<>$g){
          ?><div id = "mydiv2"><?php echo $a;?></div>
     }
}

$prew1=file_get_contents(loopone());
$prew2=file_get_contents(casetwo());
$reply1=prew1;
$reply2=prew2;
echo json_encode(array("reply1"=>$reply1, "reply2"=>$reply2));

что здесь не так? Я не вижу результатов.

Аргумент file_get_contents() должен быть именем файла или URL. loopone() и casetwo() не возвращают имена файлов, они выводят вывод.

Barmar 23.05.2019 21:51

Что такое $a и $g в casetwo?

Barmar 23.05.2019 21:52

Бармар, я использую file_get_contents(), потому что мои две функции возвращают значения в html и PHP (внутри есть цикл for ona y if условие другого, и я могу сделать это с помощью json) для заполнения или главной страницы

leonardo sebastian 23.05.2019 21:55

Вы никогда не открываете PHP повторно после его закрытия. Вы всегда должны делать отступы в управляющих структурах.

user3783243 23.05.2019 21:56
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
4
26
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

file_get_contents() предназначен для чтения файла или URL-адреса в строку. Вам не нужно их использовать, если вы создаете контент в своем скрипте. Просто пусть ваши функции возвращают строки.

function loopone() {
    $result = "";
    for (a = 0; $a < 10; $a++) {
        $result .= "<div class='mydiv'>$a</div>";
    }
    return $result;
}
function casetwo() {
    global $a, $g;
    if ($a != $g) {
        return "<div id='mydiv2'>$a</div>";
    } else {
        return "";
    }
}

$prew1 = loopone();
$prew2 = casetwo();
echo json_encode(array("reply1"=>$prew1, "reply2"=>$prew2));

Я изменил id = "mydiv" на class = "mydiv", потому что идентификаторы должны быть уникальными, вы не должны возвращать один и тот же идентификатор в цикле.

Спасибо, Бармар, и как мне получить результат, чтобы отправить его на мой home.php с помощью json?

leonardo sebastian 23.05.2019 22:11

Вызовите функции и назначьте возврат переменным. Просто базовое программирование.

Barmar 23.05.2019 22:12

Другие вопросы по теме