使用AJAX和JSON从数据库中获取和显示数据时,在innerHTML中变得未定义

穆罕默德·阿夫塔布(Muhammad Aftab)

这是我编写的用于使用AJAX从数据库中获取数据的脚本。

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
function loadJSON()
{
   var data_file = "http://www.idesigns.com.pk/comingsoon/test/connect.php";
   var xmlhttp;
   if (window.XMLHttpRequest)
   {// code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp=new XMLHttpRequest();
   }
   else
   {// code for IE6, IE5
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
   }

   xmlhttp.onreadystatechange=function()
   {
        if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
             var jsonObj = xmlhttp.responseText;
             document.getElementById("firstname").innerHTML =  jsonObj.firstname;
             document.getElementById("lastname").innerHTML = jsonObj.lastname; 
             document.getElementById("ajaxDiv").innerHTML=jsonObj;

        }
   }

   xmlhttp.open("GET", data_file, true);
   xmlhttp.send();
}
</script>
<title>JSON</title>
</head>
<body>
<h1>User Details</h1>
<p id="firstname">John</p>
<p id="lastname">Doe</p>
<div id='ajaxDiv'>Your result will display here</div>
<button type="button" onclick="loadJSON()">Update Details </button>
</body>
</html>

数据库连接中没有错误。
提取和/或回传JSON对象时没有错误。
但是,当我尝试使用innerHTML显示数据时,我得到的是未定义的以下输出,而不是从对象中获取名字和姓氏。

输出:

undefined

undefined

{"id":"1","firstname":"Bruce","lastname":"Lee"}

我不知道发生了什么事。那么,如果有人可以帮助您呢?

TJ人群

您正在尝试使用字符串,就好像它是反序列化的对象一样。该字符串没有名为firstname和的属性lastname

您需要将字符串解码为一个对象:

var jsonObj = JSON.parse(xmlhttp.responseText);

然后,使用jsonObj.firstname的代码将起作用。(请注意,此时,它不是一个“ JSON对象”。它只是一个对象。JSON是一种文本表示法;一旦解析了文本,就不再使用JSON了。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用ajax和dataType:“ json”从数据库中获取数据以html形式显示

从数据库中获取数据时出错,并且未定义索引

获取未定义的属性:projekti 在尝试打印从数据库中获取的字段时

从数据库中获取时,我在CodeIgniter中收到“未定义的变量”错误

使用ajax和php从数据库中获取行

尝试显示数据库中的数字时未定义的索引

如何从数据库中获取和显示数据?

JSON数组同时显示未定义和DOM中jquery中的数据

Laravel 7-从数据库中获取数据时出现未定义偏移错误

使用php和ajax从数据库表中选择单个字段将显示错误,即未定义的索引

使用PHP和MySQL从数据库中获取数据时,无法避免重复数据

未定义变量:标签,在引导模式上显示数据库中的数据

使用AJAX,jQuery和Codeigniter显示数据库中的数据

如何使用 bootstrap 和 Ajax 根据选定的 ID 从 MySQL 数据库中获取数据?

使用PHP以HTML形式以表格式从数据库中获取和显示数据

注意:php中未定义的索引,用于显示数据库中的图像

使用 MySQL 和 PHP 查询时出错,基于显示数据库中的数据

使用Ajax和SQL,数据库中的图像未显示在HTML中

如何使用Jquery和Ajax将Json数据发送到数据库中?

引用的对象和虚拟吸气剂在哈巴狗布局文件中返回未定义,但已从数据库成功查询

解析数据和获取特定对象时未定义

在数据库中存储和获取json结构

类型错误:无法读取未定义的属性“包括”(从数据库中获取反应)

使用ajax和php从数据库中删除图像

初始化连接到数据库时SQLX中的未定义'err'

正确获取和显示JSON数据,而不会出现“未定义”

如何从数据库中获取值,并在输入字段中使用和显示它?

使用 Ajax 获取数据未定义

在 NodeJS 中从 JSON 中获取数据导致未定义