javascript - PHP中的JSON无法传输字符串

标签 javascript php json database transmitfile

已解决 大家好,我想将 json 从 php 传输到 js 文件,并且 id 有效。 但是,如果我想在 Json 中传输字符串,它就不起作用。 调试器显示 JSON 解析错误:意外的标识符“测试”,如果您知道其他方式 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);

关于javascript - PHP中的JSON无法传输字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59653989/

相关文章:

javascript - 在没有 JQUERY 的情况下将事件从一个 dom 节点路由到另一个

php - yii2:jquery 如果 gridview 列包含特定值则更改颜色

php - 我的日期时间格式的日期被插入到我的表中,其中包含更多应该的零

javascript - 用对象中的对象构建Json(JS)

php - 从 mysql select 语句获取计数然后解析为 JSON

javascript - 如何防止 Firebase 请求伪造?

javascript - HTML 使常规按钮像一组单选按钮一样工作

javascript - 如果带有 && 优先级的条件不起作用

php - 你如何使用activerecord调用存储过程?

javascript - Angular $resource 在 $save 上将 $promise 和 $resolved 发布到服务器