JSON in PHP 无法传输字符串
JSON in PHP can't transmit Strings
已解决
大家好,我想将 json 从 php 传输到 js 文件并且 id 有效。
但是,如果我想在 Json 中传输一个字符串,它就不起作用。
调试器说 JSON 解析错误:意外的标识符 "Test" 如果你知道其他方法 id 也很好。
<?php
$con = mysqli_connect('','root','','JobBlocks');
$sql = "SELECT * FROM JobBlocksDaten";
$res = mysqli_query($con, $sql);
$num = mysqli_num_rows($res);
$DB_inhalt = mysqli_fetch_assoc($res);
$datenzUE = "{\"name\": Test, \"age\": 31,}";
echo $datenzUE;
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script type="text/javascript" src="jQuery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#sub").click(function(){
$.ajax({
type: "POST",
url: "http://localhost/jQuery&PHPnew/tst.php",
success: function(data){
alert(data);
var Daten = JSON.parse(data);
alert(Daten.name);
alert(Daten.age);
}
})
})
})
</script>
</head>
<body>
<button id="sub">Submit result</button>
<main id="main">
</main>
</body>
</html>
JSON 字符串需要用引号引起来,最后一个元素不能有尾随逗号,所以你需要这样:
$datenzUE = "{\"name\": \"Test\", \"age\": 31}";
但这是个坏主意。您最好使用 json_encode()
,它将为您完成所有引用和转义:
$array = ['name' => 'Test', 'age' => 31];
$datenzUE = json_encode($array);
已解决 大家好,我想将 json 从 php 传输到 js 文件并且 id 有效。 但是,如果我想在 Json 中传输一个字符串,它就不起作用。 调试器说 JSON 解析错误:意外的标识符 "Test" 如果你知道其他方法 id 也很好。
<?php
$con = mysqli_connect('','root','','JobBlocks');
$sql = "SELECT * FROM JobBlocksDaten";
$res = mysqli_query($con, $sql);
$num = mysqli_num_rows($res);
$DB_inhalt = mysqli_fetch_assoc($res);
$datenzUE = "{\"name\": Test, \"age\": 31,}";
echo $datenzUE;
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script type="text/javascript" src="jQuery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#sub").click(function(){
$.ajax({
type: "POST",
url: "http://localhost/jQuery&PHPnew/tst.php",
success: function(data){
alert(data);
var Daten = JSON.parse(data);
alert(Daten.name);
alert(Daten.age);
}
})
})
})
</script>
</head>
<body>
<button id="sub">Submit result</button>
<main id="main">
</main>
</body>
</html>
JSON 字符串需要用引号引起来,最后一个元素不能有尾随逗号,所以你需要这样:
$datenzUE = "{\"name\": \"Test\", \"age\": 31}";
但这是个坏主意。您最好使用 json_encode()
,它将为您完成所有引用和转义:
$array = ['name' => 'Test', 'age' => 31];
$datenzUE = json_encode($array);