如何使用 Javascript/jquery 将字符串中的数组显示为表行
Posted
技术标签:
【中文标题】如何使用 Javascript/jquery 将字符串中的数组显示为表行【英文标题】:How to display array in String as table rows with Javascript/jquery 【发布时间】:2021-02-09 17:57:14 【问题描述】:在我的脚本中,我通过 ajax 调用从 php 数据库请求中获取了一个字符串。结果字符串如下所示:
array(4)
[0]=>
array(3)
["id"]=>
string(3) "181"
["number"]=>
string(2) "37"
["livingid"]=>
string(1) "1"
[1]=>
array(3)
["id"]=>
string(3) "181"
["number"]=>
string(2) "37"
["livingid"]=>
string(1) "2"
[2]=>
array(3)
["id"]=>
string(3) "185"
["number"]=>
string(2) "37"
["livingid"]=>
string(1) "1"
[3]=>
array(3)
["id"]=>
string(3) "185"
["number"]=>
string(2) "37"
["livingid"]=>
string(1) "2"
我不知道为什么会这样返回。我想在表格中显示结果。为此,我会使用 jquery:
$("#deActWh").append(result); //#deActWh is the id of table
但这只有在我在 <tr> <td>
等字符串中有 html 表 syntx 时才有效。我正在寻找一种将这个字符串转换回数组并在每一行中插入 html 语法的好方法。我还需要去掉所有不必要的东西,比如“array(4)...string(3)..etc”。我想使用 split() 方法,但我不知道如何在这里有用地使用此方法。我愿意接受建议或其他方法。
【问题讨论】:
【参考方案1】:您可以将其作为 json_encoded 字符串返回,而不是将其作为 php 数组返回。
我假设您正在使用 pdo 从 mysql 中获取结果,然后直接将结果返回给 ajax。
$result = whatever your pdo call is.
return json_encode($result);
由于 jquery 是 javascript,它可以很容易地解释 JSON。但是,您仍然需要自己循环并构建表。
【讨论】:
谢谢。这已经有很大帮助了。除了开头的“string(1738)”之外,返回字符串现在是正确的 JSON 格式。你知道这是怎么回事吗?我会用 substring 或 split() 和 pop() 把它剪掉。 它不应该有那个。你能把你的代码贴在这里让我看到吗?如果您有“字符串”,则很可能您正在执行 var_dump 或其他操作。 哦,是的,显然 php 方法使用了 var_dump;然后死去;后声明。我现在尝试使用 return 语句,但是 ajax 调用没有得到任何回报。我是这个项目的新手,不明白一切是如何实现的。不幸的是,我不能问任何人,我也不清楚我还能用什么来从 php 获得可用的回报。 有了返回语句,我只是变成了一个空数组。 它现在正在使用 echo 语句并死掉;后声明。但我很确定这不是一个好的解决方案..【参考方案2】:这个问题是由于 PHP 脚本引起的
PHP 故意像这样格式化数据。它不是 Javascript 表示法,它对数组有 [
和 ]
,对于数组的第零个元素也没有格式 [0]=>
。
查看数据库的文档,其中将解释其输出的格式。
【讨论】:
以上是关于如何使用 Javascript/jquery 将字符串中的数组显示为表行的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 jquery/javascript 将文本插入 json [重复]
如何使用 JavaScript/JQuery 创建一个简单的地图 [重复]
如何使用 Javascript/jQuery 确定图像是不是已加载?
如何使用 Javascript/jQuery 确定图像是不是已加载?