我传递了一些数据,将其转换为json& json输出像;
[{"msg":"1: AVAILABLE: should be publicly available"},{"msg":"1: API USAGE: Uses api
of twitter to develop messaging service \n PUBLICALLY AVAILABLE: Should be publically
available"},{"msg":"1: EX_DES_EXP: Help novice users to exchange \n design experiences
through specifications messages"}]
我使用以下脚本使用此json数据构建无序列表:
<script type="text/javascript" language="javascript">
jQuery(document).ready(function() {
jQuery.getJSON("http://127.0.0.1/conn_msg2_qua.php", function (jsonData) {
var markup;
markup = [];
jQuery.each(jsonData, function (i, j) {
markup.push("<li>");
markup.push(j.msg);
markup.push("</li>");
});
jQuery('#msg_q').append(markup.join(""));
});});
</script>
<script>
现在我将转换为json的数据的实现更改为bit&amp; json看起来像
["1 AVAILABLE: should be publicly available","2 API USAGE: Uses api of twitter to
develop messaging service \n PUBLICALLY AVAILABLE: Should be publically available","3
EX_DES_EXP: Help novice users to exchange \n design experiences through
specifications messages"]
我的函数停止将其打印为无序列表。问题是什么导致了这一点。我如何再次使其发挥作用。
答案 0 :(得分:1)
替换:
markup.push(j.msg);
使用:
markup.push(j);
<强>更新强>
我还建议您更改将文本注入HTML的方式。而不是:
markup.push("<li>");
markup.push(j);
markup.push("</li>");
[...]
jQuery('#msg_q').append(markup.join(""));
...使用类似的东西:
var li = $("<li></li>");
li.text(j);
markup.push(li);
[...]
jQuery('#msg_q').append(markup);
答案 1 :(得分:0)
因为它只是一个字符串数组,所以你只需要循环中的j
(字符串),而不是.msg
属性(字符串没有),如下所示: / p>
jQuery.each(jsonData, function (i, j) {
markup.push("<li>");
markup.push(j);
markup.push("</li>");
});