0

これがarrivalPlay.phpです。ユーザーがarrivalRead.phpからデータをクリックし、urlをarrivalPlay.php?id=1 (2,3,4,5など)にすると、このページがロードされます。

<?php
    $con = mysqli_connect("localhost","admin","admin","flight_status");
    $id = $_GET['id'];
    $getrow = mysqli_query($con, "SELECT * FROM arrival WHERE id='$id'");
    $row = mysqli_fetch_array($getrow);
    mysqli_close($con); 
    $order = array(1,2,3,4);
    foreach ($order as $o) {
        $res[$o][f] = $row[$o];
    }
    json_encode($res);
?>

これは getData.js ファイルです。ファイル file は res を受け取り、'mp' に渡されます。

<script>
    function aha() {
    $.ajax({
        url:'arrivalPlay.php',
        data:{id:3},
        dataType:'json',
        type:'GET',
        success:function(data){
            document.write(data[1].f);
            document.write(data[2].f);
            document.write(data[3].f);
            document.write(data[4].f);
        }
    });
    }
</script>

ページarrivalPlay.phpは、urlがarrivalPlay.php?id=Xになった場合にのみデータを持ちます。「動的」PHPからJavaScriptページにデータを取得する方法はありますか? 奇妙だと思われる場合は、私のアプローチを自由に変更してください。ありがとうございました...

4

2 に答える 2

1

これを試して:

サーバーページで最初に適用するecho前にjson_encode($res);

そのはずecho json_encode($res);

そして、うまくいかない場合は、このコードを試してください

<script>
$(document).ready(function(){
    $(document).on('click','#a',function(e){
        e.preventDefault();
        $.ajax({
            url:'arrivalPlay.php',
            data:{id:1},
            dataType:'json',
            success:function(data){
                $('#res').html(data);
            }
        });
    });
});
</script>

jsonサーバーから必要な場合は、からのみ渡すjson data必要がありますserver

あなたのコードのように

<?php
    $con = mysqli_connect("localhost","admin","admin","flight_status");
    $id = $_GET['id'];
    $getrow = mysqli_query($con, "SELECT * FROM arrival WHERE id='$id'");
    $row = mysqli_fetch_array($getrow);
    mysqli_close($con); 
    $res=array();
    $order = array('airline','flight','origin','status');
    foreach ($order as $o) {
        $res[$o] = $row[$o];
    }
    echo json_encode($res);// echo the json string
    // remember that no other output should be generated other than this json
    return; //so you can use this line
?>

十分です

しかし、jsonあなたはこのコードを使用したくない

echo implode(',',$res); それ以外の echo json_encode($res);

この場合も、javascriptこのオプションを削除してdataType:'json',ください。

jquery.ajaxを読む

于 2013-05-02T07:43:44.573 に答える
0

JSON データを受け取っているので、それらを HTML 要素に配置したいとは思いません。PHP ファイルを変更して HTML 要素を生成するか、javascript ロジックを実装して、サーバーが提供する JSON データに基づいて要素を作成します。

于 2013-05-02T07:54:08.067 に答える