从带有ajax的php函数获取file_get_contents

时间:2019-05-23 19:47:14

标签: php ajax

我必须使用AJAX来获取两个php函数的html答复

这是我的代码

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>

还有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));

这是怎么了?我看不到结果。

1 个答案:

答案 0 :(得分:2)

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",因为ID应该是唯一的,因此您不应在循环中返回相同的ID。