参数未在 jquery dataTable Ajax 调用中传递

比拉杰·达哈尔

我已经编写了一个代码来将动态表显示到 DataTable 中。

 <table id="tag" class="display table table-striped table-bordered" cellspacing="0" width="100%">
                <thead>
                    <tr>
                        @foreach (var item in Model.HeaderModelList.Select((value, i) => new { i, value }))
                        {
                            <th id=@(item.i+1)>
                                @item.value.Category
                                <span class="filterExcel">
                                    <select id="tag@(item.value.PatientTagCategoryId)" name="tag" asp-items="@item.value.HeaderOptions" multiple class="drp-tagMulti-Select">
                                    </select>
                                </span>
                            </th>
                        }
                        <th id="@(Model.HeaderModelList.Count()+1)">Simulation Name
                        </th>
                        <th id="@(Model.HeaderModelList.Count()+2)">
                            Patient Name                          
                        </th>
                    </tr>
                </thead>
            </table>

在更改下拉菜单时,我调用了一个调用 reload jquery 的事件。


  $(document).ready(function () {

            var id = "";
            var newval = "";

             $('.drp-tagMulti-Select').on('change', function () {
                var valid = this.id;
                var val = $('#' + valid).val();

                if (valid) {
                    newval = val;
                    id = valid;
                    console.log("id" + id);
                    console.log("newval" + newval);
                    table.ajax.reload();
                }
            });

            var table = $("#tag").DataTable({

                "aLengthMenu": [[10, 25, 50, 75, -1], [10, 25, 50, 75, "All"]],
                "iDisplayLength": 10,
                "serverSide": true,
                "processing": true,
                "stateSave": true,
                "search": true,
                "ajax": {
                    'type': 'POST',
                    'dataType': 'json',
                    'data': {
                        TagId: id,
                        Values: newval
                    },
                    'url': 'GetFilteredPatientTags',
                    'dataSrc': function (d) {
                        var values = [];
                        for (var i = 0; i < d.data.length; i++) {
                            var result = Object.values(d.data[i]);
                            values.push(result);
                        }
                        return values;
                    }
                }
            });

            $(".filterExcel").click(function (e) {
                e.stopPropagation();
            })

            $('.drp-tagMulti-Select').multipleSelect({
                placeholder: 'Select specific course',
                ellipsis: true,
                filter: true,
                filterAcceptOnEnter: true,
                animate: 'fade',
                width: 20
            })

            $('.ms-drop').width('fit-content')

           
        });

现在,每当我更改下拉菜单时,都会触发事件,id并且newval控制台中会正确显示和 的值

console.log("id" + id);
console.log("newval" + newval);

然后我重新加载数据表,但的值idnewval不正确地传递在AJAX,该值被发送为空

如果我改变的初始值id,并newval为“A”和“B”

var id = "a";
var newval = "b";

那么通过ajaxidnewval传递的值总是“a”和“b”,我需要在ajax中传递控制台中显示的值。

我怎样才能解决这个问题?

强乐玉

要解决它,您需要将一个函数传递给ajax.data

"ajax": {
  ...
  'data': function(d) {
    d.TagId = id;
    d.Values = newval;
  },
  ...

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在jQuery ajax调用的URL参数中传递:

如何将其他参数传递给jQuery DataTable ajax调用?

jQuery DataTable将参数传递给ajax调用asp.net。无效的JSON原语

jQuery Ajax 调用传递参数

如何在jquery datatable的ajax调用中发布参数

使用来自Ajax的参数调用php函数(DataTable jQuery)

无法将AJAX调用中的jQuery DataTable与JSON数据绑定

在jQuery Ajax中传递多个参数?

在ajax调用中使用datatable url属性将参数传递给服务器

JavaScript/jQuery 单击功能未在 AJAX 调用 API 中触发

jQuery AJAX调用未在Wordpress中返回结果

ajax成功错误函数未在jquery中调用

jQuery Ajax调用未在for循环中执行

通过从输入文本框中传递参数,通过 jQuery AJAX 调用 Java EE REST 服务

jQuery Ajax调用未将参数传递给ASP.NET Core MVC中的“控制器方法”吗?

在绘制之前将参数添加到datatable ajax调用

jQuery Ajax加载图像未在Ajax调用上加载

jQuery的“ uploadProgress”未在“ $ .ajax”中触发

在jQuery AJAX GET调用中传递请求标头

从输入框中使用jquery在ajax中传递参数

使用jquery数据表中的ajax调用发送参数

jQuery中的AJAX调用,是什么定义了“ json”作为参数?

问题:在ajax调用中传递一些参数(发布)

在ajax调用中传递&传入查询字符串参数

使用jquery .ajax传递可为空的参数

循环jQuery ajax并传递参数的正确方法

通过 ajax jquery 传递类类型参数

Ajax / PythonBottle / Jquery / JSON麻烦传递参数

Vuejs Ajax调用和dataTable