代码之家  ›  专栏  ›  技术社区  ›  SbrTa

在Ajax中有没有任何方法可以直接将方法设置为HTML视图表单?

  •  0
  • SbrTa  · 技术社区  · 6 年前

    在controller.java中,我映射了一个对象 味精

    resultMap.put("msg", msg);
    

    现在,我想使用Ajax调用以HTML形式打印该方法的所有属性。我就是这样做的。为HTML视图表单的每个字段设置一个ID,然后逐个设置方法属性。

    $.ajax(
    ...
    ...
    function (data) {
            $('#name').text(data.msg.name); 
            $('#age').text(data.msg.age);
            $('#gender').text(data.msg.gender);
            $('#class').text(data.msg.class);
            .....
            .....
    );
    

    但是,在某些情况下,一个方法可能有20/30+的属性。在表单中为所有字段设置ID,然后在Ajax中为其设置方法值是非常困难的。

    在Ajax中,是否有任何方法可以直接将该方法设置为HTML视图表单?

    1 回复  |  直到 6 年前
        1
  •  0
  •   benjamin c    6 年前

    我不确定这是否适合你的需要,在这种情况下,我会使用一个模板引擎, mustache.js . 使用这个库,

    首先在 <script> 你将要使用的,

    <script id="template" type="x-tmpl-mustache">
        <ul>
            <li>NAME: {{name}}</li>
            <li>AGE: {{age}}</li>
            <li>GENDER: {{gender}}</li>
        </ul>
    </script>
    

    操作此的函数 <ul> .

    function load() {
      var template = $('#template').html();
      Mustache.parse(template);
      var rendered = Mustache.render(template, {name: ajax_data, age: ajax_data, gender: ajax_data});
      $('#target').html(rendered);
    }
    

    您可以将此函数内容放在Ajax中 .success 阻止访问 data.msg.-- 属性。