两个 select2 工作正常,但它没有从 ajax 获取数据

Two select2 works properly but it does not get data from ajax

我有两个 select2 下拉菜单,它们都可以识别 select2 及其选项,但是 ajax 的 none 有效。 如果有人可以提供帮助,请与我分享您的想法,以了解我该如何解决此问题 这里有 jquery 个代码

<script>

$("#process").select2({
        placeholder: "Process",
        ajax: {
            url: URL,

            "headers": {
                'Content-Type': 'application/json',
                'Authorization': "Bearer " + localStorage.getItem('api_token')
            },
            dataType: 'json',
            processResults: function(data) {
                var json = [];
                for (var j = 0; j < data.data.length; j++) {
                    var config = {
                        id: '',
                        text: '',
                        title: '',
                        value: '',
                    };
                    config.id = data.data[j].id;
                    config.text = data.data[j].code;
                    config.title = data.data[j].title;
                    config.icon = 'role';
                    json.push(config);
                }

                return {
                    results: json
                };
            }
        }
    });
    
    $("#receiver").select2({
        placeholder: "Receiver",
        ajax: {
            url: URL,
            "headers": {
                'Content-Type': 'application/json',
                'Authorization': "Bearer " + localStorage.getItem('api_token')
            },
            dataType: 'json',
            processResults: function (data) {
                // Tranforms the top-level key of the response object from 'items' to 'results'
                var json = [];
                for (var j = 0; j < data.data.roles.length; j++) {
                    var config = {
                        id: '',
                        text: ''
                    };
                    config.id = data.data.roles[j].id;
                    config.text = data.data.roles[j].name;
                    json.push(config);
                }
                for (var k = 0; k < data.data.users.length; k++) {
                    var config = {
                        id: '',
                        text: ''
                    };
                    config.id = data.data.users[k].id;
                    config.text = data.data.users[k].name;
                    config.icon = 'user';
                    json.push(config);
                }

                return {
                    results: json
                };
            }
            // Additional AJAX parameters go here; see the end of this chapter for the full code of this example
        },
    });

</script>
<select class="form-control m-select2 select2-hidden-accessible" id="receiver"></select>

<select class="form-control m-select2 select2-hidden-accessible" id="process"></select>

select2 的其他选项可以正常工作,但ajax 无法获取数据。 如果有人有任何想法,请与我分享

我找到了问题的解决方案,我应该在 setTimeout 函数中获取 .select2。

<script>
  setTimeout(() => {
    $("#id").select2()
  }, 1000)
</script>