如何在Ajax搜索模板中添加Javascript中的JSON?

我找到了一个Ajax搜索模板,我还有一个来自MSSQL的Javascript JSON变量。如何在这个Ajax搜索模板中添加Javascript中的JSON?Monteur是带有JSON数据的变量。

ajax:

    $(document).ready(function () {
        $.ajaxSetup({ cache: false });
        $('#search').keyup(function () {
            $('#result').html('');
            $('#state').val('');
            var searchField = $('#search').val();
            var expression = new RegExp(searchField, "i");
            $.getJSON('scripts/data.json', function (data) {
                $.each(data, function (key, value) {
                    if (value.name.search(expression) != -1 || value.location.search(expression) != -1) {
                        $('#result').append('<li class="list-group-item link-class">' + value.name + ' | <span class="text-muted">' + value.location + '</span></li>');
                    }
                });
            });
        });

        $('#result').on('click', 'li', function () {
            var click_text = $(this).text().split('|');
            $('#search').val($.trim(click_text[0]));
            $("#result").html('');
        });
    });

javascript:

SqlServer.executeQuery("SELECT PERSONALNUMMER, (NAME+' '+ VORNAME) AS NAME1 FROM OPENQUERY(SPHINX, 'select personalnummer, name, vorname from firma.personal where austrittsdatum is null') AS derivedtbl_1", function (event) {
   Monteur = event;                
}, function (error) {
     alert("Error : " + JSON.stringify(error));
});

您可以将Javascript中的JSON数据作为参数传递给Ajax请求,然后在Ajax请求中使用该数据。以下是一种可能的实现方法:

将Javascript中的JSON数据转换为字符串格式:

var MonteurString = JSON.stringify(Monteur);

将字符串格式的JSON数据作为参数传递给Ajax请求:

$.ajax({
  url: 'scripts/data.json',
  data: { Monteur: MonteurString },
  dataType: 'json',
  success: function(data) {
    // 在此处使用data变量进行数据处理
  }
});

在Ajax请求中使用传递的JSON数据:

$.getJSON('scripts/data.json', function (data) {
  // 使用传递的JSON数据进行数据处理
});

需要注意的是,如果传递的JSON数据过大,可能会导致Ajax请求失败或者响应时间过长。建议在传递JSON数据时使用压缩算法进行压缩,以减小数据大小。