Handlebars {{this}} показывает объект RequestContext, а все остальные скобки пусты - PullRequest
1 голос
/ 01 апреля 2020

Я использую руль с 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&#x3D;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]}";
    }```
...