javascript - json 通信的问题 javascript-php
问题描述
我想从你们那里得到一点帮助,因为我不知道我的 javascript 代码发生了什么。
我的 php 文件中有这些代码行:(我确信我的 PHP 文件工作正常)
PHP 文件:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<?php
header('Access-Control-Allow-Origin: *');
/* 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'];
//Attempt insert query execution
$query = "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";
$res = mysqli_query($link,$query);
$result = array();
$res = mysqli_query($link,$query) or die(mysqli_error($link));
while($row = mysqli_fetch_assoc($res)){
$result=$row['site_id'];
$myJSON = json_encode($result);
}
file_put_contents('data.json', $myJSON);//save my data json in file json
echo $myJSON;
//$myfile = fopen("newfile.txt", "w") or die("Unable to open file!");
//fwrite($myfile, $result);
//fclose($myfile);
// Close connection
mysqli_close($link);
?>
脚本:
<script>
function load3() {
var flag1 = true;
do{
var selection = window.prompt("Give the User Id:", "Type a number!");
if ( /^[0-9]+$/.test(selection)) {
flag1=false;
}
}while(flag1!=false);
$("#user_id").val(selection)
var flag2 = true;
do{
var selection2 = window.prompt("Give the Book Id:", "Type a number!");
if ( /^[0-9]+$/.test(selection2)) {
flag2=false;
}
}while(flag2!=false);
$("#book_id").val(selection2)
var flag3= true;
do{
var selection3 = window.prompt("Give the Game Id:", "Type a number!");
if ( /^[0-9]+$/.test(selection3)) {
flag3=false;
}
}while(flag3!=false);
$("#game_id").val(selection3)
var mydata =JSON.parse(data);
alert(mydata[0].name);//get name's value
}
</script>
不幸的是,我看到值“4”无法在我的脚本中返回给我的 js 函数。我究竟做错了什么?
解决方案
在我的示例中手动创建您的文件 .json(empty) 是 data.json
你的 html 文件:
<!DOCTYPE html>
<html>
<head>
//call your file data.json
<script type="text/javascript" src="data.json"></script>
<script type="text/javascript">
//use your file data.json
var mydata =JSON.parse(data);
alert(mydata[0].name);//get name's value
</script>
</head>
<body>
</body>
</html>
.php 文件:
<?php
//example data
$myArr = [];
$myArr['name'] = "John";
$myArr['age'] = 30;
$myArr['city'] = "New York";
/*
or object
$myArr = stdClass();
$myArr->name = "John";
$myArr->age = 30;
$myArr->city = "New York";
*/
$myJSON = json_encode($myArr);
file_put_contents('data.json', "data ="."'"."[".$myJSON."]';");//save my data json in file json
echo $myJSON;
?>
php 将数据以这种方式放入文件 data.json 中: data ='[{"name":"John","age":30,"city":"New York0"}]';
在这种情况下,您可以使用之前编写的文件 html。当您将重用 php 文件时,它会重写文件 json. 我希望这是有帮助的...
推荐阅读
- c# - 在 HTTP 上实现监听器的正确方法
- r - 绘图轴超出边界
- javascript - React-native-gifted-chat 与 Cloud Firestore 分页
- azure-devops - 如何在 Azure DevOps 发布管道中下载/检查转换后的配置文件
- c# - Ef 核心字符串不包含排除 Null
- node.js - 通过 nodejs 流传输/泵送的数据顺序
- php - 在链配置的命名空间中找不到该类
- twitter-bootstrap - 如何在 bootstrapvue 中将 Tab 标题作为下拉列表
- c++ - 有没有办法通过 gnu make 编译子目录中的源代码
- html - 如何使用直播服务器打开当前编辑html?