首页 > 解决方案 > 如何将元素列表传递给 post 方法?

问题描述

我动态地将问题添加到问卷中。我需要通过数据库中的 POST 方法传递我的问题。

我的模板:

<div class="questions mb-3" id="questions" model-attribute="questionsForm"> 
</div>

<script>
    $(document).ready(function () {

     $("#addQuestion").click(function () {
       var i = 1;
       $("#questions").append(
                        '<div id="q' + i + '" class="card border-info mb-3 mt-3" style="width: 40rem;" >\n' +
                        '<div class="card-body">\n' +
                          '<div class="form-inline mt-3">\n' +
                           '<input class="form-control col-sm-8 mr-2" type="text" name="tags">\n' +
                           '</div>\n' +
                          '</div>\n' +
                        '</div>');
                    i++;
                  });
                });
</script>

标签: javascriptjavaspring-bootattributesfreemarker

解决方案


您可以使用Fetch API在本地(无需任何外部库)执行此操作。

为了发送带有请求正文的 POST 请求,您需要将问题存储在一个数组中,并使用 JSON.stringify() 将其转换为 JSON 字符串。

这是带有 POST 请求的方法的实现:

function sendData(questionsArr) {
  fetch('/some-endpoint', {
    method: 'post',
    body: JSON.stringify(questionsArr)
  }).then(response => {
    return response.json();
  }).then(data => {
    // response
    console.log(data)
  });
}

推荐阅读