gpt4 book ai didi

javascript - 如果编码数据不确定,如何在 javascript 中使用 json

转载 作者:搜寻专家 更新时间:2023-10-30 22:27:25 27 4
gpt4 key购买 nike

我正在尝试为我的网站创建一个功能,允许用户登录,然后从数据库 (PHP) 访问他们的特定数据,然后以 html 格式在屏幕上显示他们的用户数据。我知道我必须使用 json_encode 对 PHP 数据进行编码,然后在 javascript 中使用 json_parse。我遇到的问题是 javascript 部分的所有教程都是这样的:

var text = '{ "name":"John", "birth":"1986-12-14", "city":"New York"}';
var obj = JSON.parse(text);

但我无法输入具体要调用的数据,因为它会针对每个用户而变化,我只有列。 PHP 中的编码数据如下所示:

echo json_encode($_SESSION['currentlevel']);

但我不知道在javascript中放什么来调用我需要的编码数据。

我无法在 javascript 文件中使用 php。

现在这是我的 PHP:

<?php
session_start();

$link = mysqli_connect($servername, $username, $password, $database);

$sql = "SELECT CurrentLevel FROM UserInfo1 WHERE
UserEmail = '". mysqli_real_escape_string($link, $_SESSION['useremail']) .
"'";

$result = mysqli_query($link, $sql);

if (!$result) {
die(mysqli_error());
}

$_SESSION['currentlevel'] = '{"CurrentLevel": "'.$result.'"}';

if (!$_SESSION['currentlevel']) {
die(mysqli_error());
}

echo json_encode($_SESSION['currentlevel']);

我的 Javascript 看起来像这样:

function getcurrentlevel() {
var xmlhttp, myObj;
xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
myObj = JSON.parse(this.responseText);
document.getElementById("CurrentLevel").innerHTML = " Level: 'myobj'";
}
};
xmlhttp.open("GET", "php5.php", true);
xmlhttp.send();
}

最佳答案

在您当前的方法中至少有两个细节需要更正:

(i) 在 php5.php 文件中:

$_SESSION['currentlevel'] = '{"CurrentLevel": "'.$result.'"}';

右侧已经是有效的字符串化 json(您通过字符串连接生成它,没关系。另一个具有相同效果的选项是

$_SESSION['currentlevel'] = json_encode(array('CurrentLevel' => $result));

(ii) 在 js 端你需要像这样实际使用返回值:

document.getElementById("CurrentLevel").innerHTML = " Level: " + myObj.CurrentLevel;

关于javascript - 如果编码数据不确定,如何在 javascript 中使用 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49518217/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com