Изменен формат данных JSON и перестала работать функция построения неупорядоченного списка из него? - PullRequest
1 голос
/ 30 ноября 2010

Я передаю некоторые данные, преобразовывая их в выходные данные 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 & 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"] 

, и моя функция перестала печатать его как неупорядоченный список.Какая проблема вызывает это.Как мне снова заставить это работать.

Ответы [ 2 ]

1 голос
/ 30 ноября 2010

Заменить:

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);
0 голосов
/ 30 ноября 2010

Поскольку это просто массив строк, вам нужно только j из вашего цикла (строка), а не свойство .msg (которого нет у строки), например:

jQuery.each(jsonData, function (i, j) {
  markup.push("<li>");
  markup.push(j);
  markup.push("</li>");
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...