jquery 全局JavaScript变量不通过数据表 AJAX 调用发布

n6lpvg4x  于 2023-08-04  发布在  jQuery
关注(0)|答案(1)|浏览(103)

我正试图为服务器端数据表向MVC控制器发布一个额外的自定义值。似乎无论我做什么,我都不能发布我想要的值,它总是在我的视图模型中返回null。代码如下:

$(document).ready(function () {
 window.searchValue;
            function updateSearchValuesBeforeSend() {
                window.searchValue = $("#searchValue").val();
                Table.fnFilter(this.value);
            }
            $("#submitButton").on('click', function (event) {
                updateSearchValuesBeforeSend();
            });
            function getAString() {
                return $("#searchValue").val();
            } 
            var Table = $('#work-order-table').dataTable({
                processing: true,
                serverSide: true,
                scrollX: true,
                scrollResize: true,
                scrollY: 600,
                scrollCollapse: true,
                bStateSave: true,
                fnStateSave: function (oSettings, oData) {
                    localStorage.setItem('work-order-table', JSON.stringify(oData));
                },
                fnStateLoad: function (oSettings) {
                    return JSON.parse(localStorage.getItem('work-order-table'));
                },
                ajax: {
                    url: '@Url.Action("FilterList")',
                    method: 'POST',
                    data: {
                        'search_value': window.searchValue
                    },

字符串
如果我把window.searchValue替换为一个类似'something'的字符串,那么它就不会出现任何问题。我尝试 AJAX 调用中直接执行$(“#searchValue”).val(),但不起作用,尝试执行${window.searchValue},并创建一个返回$(“#searchValue”).val()的函数,而不是将其存储在变量中。当我在调用Table.fnFilter(this.value)之前执行console.log(window.searchValue)时,它会打印输入中的正确值,但在我的模型中仍然显示为null。
编辑:让我重申一下,我正在从输入中查找值。在按下搜索按钮后,我知道第一 AJAX 调用在页面加载时将为null。

ki0zmccv

ki0zmccv1#

我能够通过直接将我想要的属性添加到数据表传递给我的控制器的JavaScript对象来解决这个问题。

ajax: {
      url: '@Url.Action("FilterList")',
      method: 'POST',
      data: function (d) {
           d["search_value"] = $("#searchValue").val();
           d["name_value"] = $("#nameList").val();
           d["date_value"] = $("#dateValue").val();
       },

字符串

相关问题