使用Javascript访问PHP JSON响应

使用Javascript访问PHP JSON响应,javascript,php,json,Javascript,Php,Json,这是一种有效的方法:我不想通过源代码访问api键,所以我一直试图用PHP隐藏它,并使用Javascript显示数据。(我更喜欢使用js语法来显示数据)我已经能够成功地显示数据,但是当我查看源代码时,我可以看到JSON响应。有人能告诉我这是否是一种有效的方法,为什么在源代码中显示json不是一个好主意 <?php $apikey = "xxxx"; $data = file_get_contents('http://url?apikey=' . $apikey); $json = json_

这是一种有效的方法:我不想通过源代码访问api键,所以我一直试图用PHP隐藏它,并使用Javascript显示数据。(我更喜欢使用js语法来显示数据)我已经能够成功地显示数据,但是当我查看源代码时,我可以看到JSON响应。有人能告诉我这是否是一种有效的方法,为什么在源代码中显示json不是一个好主意

<?php
$apikey = "xxxx";
$data = file_get_contents('http://url?apikey=' . $apikey);
$json = json_decode($data,true);
?>

然后我访问响应,如下所示:

<script type="text/javascript">

    var data =  <?php echo json_encode($json) ?>;
    $('.in-theaters-soon').append('<p>' + data.movies[0].title + '</p>');

</script>

var数据=;
$('.in theaters soon').append(''+data.movies[0].title+'

');
您可以直接
回显PHP中的值,因为您已经在
$json
中得到了响应。例如:

<div class="in-theaters-soon">
    <p><?php echo $json['movies'][0]['title']; ?></p>
</div>


您可以直接
回显PHP中的值,因为您已经在
$json
中得到了响应。例如:

<div class="in-theaters-soon">
    <p><?php echo $json['movies'][0]['title']; ?></p>
</div>


始终对打印的数据进行一些验证

<?php
$apikey = "xxxx";
$data = file_get_contents('http://url?apikey=' . $apikey);
if (is_array($data) && ! empty($data)) {
    /**
     * Do something.
    /**/
}

始终对打印的数据进行一些验证

<?php
$apikey = "xxxx";
$data = file_get_contents('http://url?apikey=' . $apikey);
if (is_array($data) && ! empty($data)) {
    /**
     * Do something.
    /**/
}

如果将php保存在单独的文件中,则可以执行类似操作

你的php文件

<?php
// create a token check to make sure it is being called.
$apikey = "xxxx";
$data = file_get_contents('http://url?apikey=' . $apikey);
echo json_encode($data);
?>

然后通过发送令牌或类似的东西来查询php文件

$.ajax({
    url: url,
    type: 'POST',
    data: {token:token},
    success: function(data){
        var response = $.parseJSON(data);
        for(var x = 0; x < response.length; x++){
            $('.in-theaters-soon').append('<p>' + response[x].title + '</p>');
        }
    },
    cache: false,
    contentType: false,
    processData: false
}); 
$.ajax({
url:url,
键入:“POST”,
数据:{token:token},
成功:功能(数据){
var响应=$.parseJSON(数据);
对于(var x=0;x');
}
},
cache:false,
contentType:false,
processData:false
}); 

希望这能有所帮助。

如果将php放在一个单独的文件中,您可以这样做

你的php文件

<?php
// create a token check to make sure it is being called.
$apikey = "xxxx";
$data = file_get_contents('http://url?apikey=' . $apikey);
echo json_encode($data);
?>

然后通过发送令牌或类似的东西来查询php文件

$.ajax({
    url: url,
    type: 'POST',
    data: {token:token},
    success: function(data){
        var response = $.parseJSON(data);
        for(var x = 0; x < response.length; x++){
            $('.in-theaters-soon').append('<p>' + response[x].title + '</p>');
        }
    },
    cache: false,
    contentType: false,
    processData: false
}); 
$.ajax({
url:url,
键入:“POST”,
数据:{token:token},
成功:功能(数据){
var响应=$.parseJSON(数据);
对于(var x=0;x');
}
},
cache:false,
contentType:false,
processData:false
}); 

希望这能有所帮助。

Hi littleibex,我更喜欢使用javascript来显示数据,因为我更熟悉它的语法。你认为上述方法有效吗?您认为JSON可以在源代码中查看吗?您的方法是有效的,因为它可以完成工作,尽管这是一种非常迂回的方式。在源代码中查看JSON不会造成任何伤害,因为您正在以一种非常漂亮的方式(使用HTML)向用户显示JSON。此外,由于它只是JSON,因此无法回溯JSON的来源和方式。嗨,littleibex,我更喜欢使用javascript显示数据,因为我更熟悉它的语法。你认为上述方法有效吗?您认为JSON可以在源代码中查看吗?您的方法是有效的,因为它可以完成工作,尽管这是一种非常迂回的方式。在源代码中查看JSON不会造成任何伤害,因为您正在以一种非常漂亮的方式(使用HTML)向用户显示JSON。此外,由于它只是JSON,因此无法回溯JSON的来源和方式。