Bootstrap标记输入发送带有空格的POST

Bootstrap tag-inputs sending POST with spaces

本文关键字:空格 POST 输入 Bootstrap      更新时间:2023-09-26

我在Django中使用JQuery和Bootstrap开发的系统中工作。

我有这个标签输入:

<div id="roles" class="tab-pane"><!-- ROLES -->
            <input id="roles_tag" type="text" value="{{ roles }}" data-role="tagsinput" placeholder="Add role" />

使用以下javascript:

$("#roles_tag").change(function(){
                roles = ($(this).tagsinput('items'));
                $.ajax({
                    type: 'POST',
                    dataType: 'json',
                    url: "{% url manage_roles %}",
                    data: {
                        csrfmiddlewaretoken: "{{ csrf_token }}",
                        'roles_list': roles
                    },
                    cache: false,
                    async: true,
                });
            });

但出于某种原因,我不知道有时在某些标签的开头有空格的send POSTS。

图像1

图像2

是什么原因造成的?很抱歉出现任何问题,这是我在这里的第一篇帖子。提前谢谢。

如果您尝试使用表单控制获取数据

<div id="roledata" class="form-group">
    <label for="last_name" class="col-lg-3 control-label">Roles</label>
    <div class="col-lg-8">
        <input type="text" class="form-control" id="roles" placeholder="add role">
    </div>
</div>

js

var roled = {}
$.each($('#roledata').find('.form-control'), function(){
    var field = this.id,
        value = $(this).val()
        data[field] = value
})
data={
    csrfmiddlewaretoken: "{{ csrf_token }}",
    'role' : roled
}
$.ajax({
    type: "POST",
    url: "",
    data: JSON.stringify(data),
    contentType: "application/json",
    dataType: "json",
})