Я использую руль с Spring 5.
Мой шаблон в тегах сценария.
<script type="text/x-handlebars-template" id="myTemplate">
this : {{{this}}}
col : {{col.[0]}}
<div id='list-content-2'>{{this}}</div>
</script>
Мой JS, для обработки которого это:
$(".get-list").click(function(){
$.ajax({
type : "GET",
url : "getList",
headers : {"accept" : "application/json"},
data : {},
success : function(data){
console.log(data.col);
var templateText = $("#myTemplate").html();
var tableTemplate = Handlebars.compile(templateText);
var markup = tableTemplate(data);
console.log(markup);
$("#list-content").html(markup);
}
});
});
Ответ json:
{
col:[1,2,3,4]
}
Оператор console.log (data.col); печатает [1, 2, 3, 4] и поэтому с json проблем нет.
Но, console.log (разметка); печатает пружинный объект RequestContext, а атрибут json (здесь 'col') пуст. console.log (разметки); дает
this : {springMacroRequestContext=org.springframework.web.servlet.support.RequestContext@6542960e}
col :
<div id='list-content-2'>{springMacroRequestContext=org.springframework.web.servlet.support.RequestContext@6542960e}</div>
Я хочу, чтобы значения col были напечатаны.
Я не могу понять, где я иду не так.
РЕДАКТИРОВАТЬ 1:
Это часть контроллера:
@GetMapping(value = {"/getList"}, produces = MediaType.APPLICATION_JSON_VALUE)
public @ResponseBody String serveList( HttpServletRequest req, HttpServletResponse res, Model m) {
return"{col:[1,2,3,4]}";
}```