如何从javascript读取包含数组的json文件

如何从javascript读取包含数组的json文件,javascript,php,json,ajax,Javascript,Php,Json,Ajax,请大家帮帮我,因为我不知道我能做些什么来读取我的javascript和json文件,该文件包含一个包含一个元素的数组 我的php文件工作正常,输出是一个.json文件,其中包含以下行:{“posts”:[[“30”]} <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"> </script> <?php /* Attempt MySQL server conn

请大家帮帮我,因为我不知道我能做些什么来读取我的javascript和json文件,该文件包含一个包含一个元素的数组

我的php文件工作正常,输出是一个.json文件,其中包含以下行:
{“posts”:[[“30”]}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"> 
</script>
<?php
/* Attempt MySQL server connection. Assuming you are running MySQL
server with default setting (user 'root' with no password) */
$link = mysqli_connect("127.0.0.1", "root", "", "mysql3");
// Check connection
if($link === false) {
    die("ERROR: Could not connect. " . mysqli_connect_error());
}

$user_id =$_POST['user_id'];
$book_id =$_POST['book_id'];
$game_id =$_POST['game_id'];
$site_id =$_POST['site_id'];

$sql= "SELECT site_id FROM components WHERE user_id='$user_id' && book_id='$book_id' && game_id='$game_id' ORDER BY site_id DESC LIMIT 1"; 
$response = array();
$posts = array();
$result=mysqli_query($link, $sql);
while($row=mysqli_fetch_assoc($result)) { 
  $site_id=$row['site_id'];
  $posts[] = array($site_id);
} 
$response['posts'] = $posts;
$fp = fopen('results.json', 'w');
fwrite($fp, json_encode($response));
fclose($fp);

// Close connection
mysqli_close($link);
?>

谢谢你的帮助

假设此PHP代码在您的文档请求期间运行

如果将json放在脚本标记中,就可以读取它

<script type="text/javascript">
    window.myJson = <?php echo(json_encode($response)); ?>
</script

window.myJson=

ajax成功后,您得到的json响应不是?
results。json
是在服务器上创建的。要使用JS在页面上阅读它,您需要ajax。要获取
30
,请执行
$.getJSON('results.json',r=>{num=parseInt(r.posts[0][0]);alert(num)})@ChrisG不错。我要把这条线放在哪里?在我的JS函数中,对吗?因为它不会向我显示警报,其次它会让我转到我的php文件..@DILEEPTHOMAS yes。但是,我能用另一种方式在没有ajax的情况下实现javascript和php文件(在服务器端)之间的通信吗?@ChrisG我发现了一些东西。看这个:然后转到jquery。它说没有ajax也可以做到……谢谢你的建议。如果你不介意的话,你能告诉我为了测试它我应该把这些代码放在哪里吗?我已经编辑了这篇文章,你可以把它放在
mysqli\u close($link);?>不幸的是,它显示错误<代码>解析错误:语法错误,意外“我刚在代码开头看到
”。是的,但我认为我们应该用引号回显您的代码。您怎么说?
<script type="text/javascript">
    window.myJson = <?php echo(json_encode($response)); ?>
</script