2015-12-18 2 views
1

Мне нужно загрузить страницу, на которой эта страница должна отображать некоторые значения с помощью динамической разбивки на страницы. Таким образом, чтобы загрузить значения, у меня есть вызов отдыха. В этом остальном вызове я возвращаю объект json. В консоли браузера я могу видеть выход json. Теперь моя проблема: я получаю ответ на функцию $document.ready(). Теперь я пытаюсь показать значения объекта json в HTML, который не происходит.Проблема с отображением ответа Jquery Ajax в HTML

JavaScript:

<script type="text/javascript"> 
$(document).ready(function(){ 
    $.ajax({ 
      url : "http://localhost:8080/school-service/school/list/students/1/1", 
      type: "GET", 
      dataType: "json", 
      }).done(function(studentList) { 
       console.log("AJAX request success:" +studentList.pageNumber); 
      }).fail(function(jqXHR, textStatus) { 
       console.log("AJAX request failed with status:" + textStatus); 
      }); 
    }); 
</script> 

HTML:

<a href="#" class="next"><img onclick='previousPage("${studentList.pageNumber}", "${studentList.pageCount}")' src="${context}/images/previous.png"></a> 


     <c:forEach var="i" begin="1" end="${studentList.pageCount}"> 
      <a href="${context}/school/list/students/1/${i}" id="${i}" class="pages">${i}</a> 
     </c:forEach> 

<a href="#" class="prev"><img onclick='nextPage("${studentList.pageNumber}", "${studentList.pageCount}")' src="${context}/images/next.png"/></a> 

Может кто-нибудь, пожалуйста, помогите мне, как я могу отобразить JSON ответ значение объекта в HTML.

+0

Является 'console.log ("успех запроса AJAX:" + studentList.pageNumber)' вернуть что-нибудь? –

+0

Да, он возвращает «Успех запроса AJAX: 5» – Vinod

+0

Хорошо и где вы хотите отображать значения объектов ответа в своем HTML. –

ответ

0

Я думаю, вы не можете, потому что код, который вы хотите заменить на своей странице, относится к серверному языку (я думаю, asp), а код на стороне сервера будет скомпилирован перед выполнением javascript, чтобы вы не нашли теги те теги.

0

Итак, если я понимаю, что вы пытаетесь сделать, вы пытаетесь получить значение из своего запроса AJAX и включить возвращаемое значение из .done в html?

Если это так, то проверить эту ссылку из: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse

Если вы возвращаете объект JSON из .done, вам нужно будет разобрать объект JSON в строку для того, чтобы поместить его в DOM , С этого момента вам нужно будет решить, где он должен быть размещен. Например, вы можете создать div и сказать $ ('this-div'). Append (возвращаемое значение).

Другой подход может иметь значение по умолчанию в html и on .done, заменить html, вызвав .html на ваш ответ. Но для этого вам нужно будет получить ссылку $ (this).

Надеюсь, это поможет, если не сообщите мне, где мои пробелы, и мы можем пойти по этому пути по-другому.

0

Код, который вы пишете, является кодом на стороне сервера с JSTL, и он недоступен, когда возвращается ответ AJAX.

  1. JSP-страница будет преобразована в HTML.
  2. Страница HTML будет вызывать сервер с помощью AJAX.
  3. Возвращенный ответ - это JSON, который получен в объекте Javascrip.
  4. Вы должны сделать некоторую JavaScrip работу, чтобы сделать ваши a тегов

Вам нужно написать Javascript код для отображения возвращенного ответа.

0

Попробуйте вместо

int pageCount = studentList.pageNumber; 

Затем в HTML просто сделать это

<c:forEach var="i" begin="1" end=studentList.pageNumber> 
     <a href="${context}/school/list/students/1/" + i id=i class="pages">i</a> 
    </c:forEach> 
Смежные вопросы