Список рендеринга, возвращенный через JQuery - PullRequest
2 голосов
/ 23 марта 2011

На стороне сервера у меня есть список в bean-компоненте.На стороне Клиента я использую:

function callJava() {   
 $.getJSON("../reference/test", { name: $('#name').val()}, function(result) {
                         // result is a bean that has a list 
           alert(result.fooList.length);
 });
 }

Мне нужно, чтобы я мог позже отобразить этот список через FreeMarker.Что убивает меня, когда я заменил этот список на строковую переменную, он прекрасно работает, например:

function callJava() {   
 $.getJSON("../reference/test", { name: $('#name').val()}, function(result) {
 alert(result.stringVariable)

 });
 }

Как я могу иметь дело со строкой в ​​этом бине !!

Ответы [ 3 ]

1 голос
/ 23 марта 2011

Если все, что вы хотите сделать, это манипулировать элементами списка:

function callJava() {   
   $.getJSON("../reference/test", { name: $('#name').val()}, function(result) {
     for (var i = 0; i < result.fooList.length; ++i)
       alert(result.fooList[i]);
   });
 }
0 голосов
/ 24 марта 2011

Не могли бы вы захватить ответ JSON и опубликовать его? Метод jQuery getJSON будет молча глотать любые ошибки синтаксического анализа из искаженного JSON. Вероятно, так и случилось.

0 голосов
/ 24 марта 2011

На самом деле у меня есть только обновление по моему вопросу, что список, который я пытаюсь вернуть со стороны сервера, является списком SCALA. Я решил эту проблему с помощью массива вместо JAVA. и он прекрасно работает, используя Pointy сказал:

function callJava() {   
   $.getJSON("../reference/test", { name: $('#name').val()}, function(result) {
     for (var i = 0; i < result.fooList.length; ++i)
       alert(result.fooList[i]);
   });
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...