2015-09-15 2 views
0

Я использую вызов ajax для хранения данных в DB и контроллер возвращает список commentObject. Как я могу получить доступ к этому списку в JSP? мой Аякса вызов:Как использовать возвращенный список в вызове ajax от контроллера

function StoreCommentAndRefreshCommentList(e) { 
    var commentData = document.getElementById(ActualCommentTextId).value; 
    $.ajax({ 
     type : 'POST', 
     url : 'CommentStoreAndRetrieve', 
     data : "commentData=" + commentData + "&ImageId=" + commetTextButtonId[1], 
     success : function(commentList) { 
      //alert('comments stored successfully'); 
      //alert('comment data is...'+res.CommentDataDoc[0]); 

     }, 
     error : function(e) { 
      alert('Error: ' + e); 
     } 
    }); 
} 

пожалуйста, дайте мне знать, как я могу получить доступ к данным списка здесь.

+0

какие данные вы возвращения из AJAX основывают на том, что вы можете управлять ответ от AJAX – guradio

+2

вам нужно указать 'DATATYPE..: "json", 'для json' dataType: "text", 'для текста и т. д. – guradio

+0

Вы не можете использовать данные, возвращенные из Ajax в JSP. JSP работает на стороне сервера. Выход JSP доставляется клиенту. HTTP-запрос и возвращает данные клиенту. К моменту, когда данные находятся на клиенте, это слишком поздно, чтобы JSP ничего с этим не делал. – Quentin

ответ

0

У меня есть решение. Я использовал $ .each (res, function (key, val) для итерации по одному и построил теги динамически с использованием поля val. Здесь ключ удерживает позицию индекса, а val содержит соответствующий объект, после чего я сделал доступ к одному полю по val.filedname (который мы сделали для создания POJO)

Спасибо всем

0
function StoreCommentAndRefreshCommentList(e) { 
var commentData = document.getElementById(ActualCommentTextId).value; 
$.ajax({ 
    type : 'POST', 
    url : 'CommentStoreAndRetrieve', 
    data : "commentData=" + commentData + "&ImageId=" + commetTextButtonId[1], 
    dataType : "xml", 
    success : function(commentList) { 
     alert($(commentList).text()); 

    }, 
    error : function(e) { 
     alert('Error: ' + e); 
    } 
}); 
} 
0

Вы можете f.e. создать <input type='hidden' id='someId'/> в вашей JSP, а затем в функции успеха можно присвоить данные, такие как $("#someId").val(...);

Другой идеей было бы создать переменную JS внутри JSP, поставив <script>var myVar = ""</script>. Затем в вашей функции succes вы можете ссылаться на такую ​​глобальную переменную. Althogh, я считаю, что обычное назначение (myVar = response.yourList) не будет работать для объекта response (что имеет место в вашей проблеме). Решение состояло бы в создании массива var arr = [], а затем в цикле, в который вы можете нажать, чтобы сделать это.

Смежные вопросы