Сообщение Ajax JqueryDatatable отправляет нулевые данные в действие над проектом .net core 2.0 - PullRequest
0 голосов
/ 24 октября 2019

У меня проблема с .net core 2.0 с таблицами данных.

Я пытаюсь сделать данные на стороне сервера доступными.

Вот мой код JavaScript.

 $(document).ready(function () {
        $('#myTable').dataTable({
            serverSide: true,
            paging: true,
            searching: true,
            lengthMenu: [[10, 25, 50,100], [10, 25, 50,100]],
            pageLength: 10,
            destroy: true,
            ajax: {
                type: "POST",
                url: "@Url.Action("TableDatas", "Admin")",
                datatype: "json",
                contentType: 'application/json; charset=utf-8',
                data: function (d) {
                    var postData = {
                        "request": d,
                        //Speacial Filter
                        "status" : "Something i am just trying."
                    };
                    return JSON.stringify(postData);
                },
                dataFilter: function (d) {
                    return d;
                }
            },
            columns: [
                {
                    name: 'orderid',
                    data: 'orderid',
                    title: "Sipariş No",
                    sortable: false,
                    searchable: true
                },
                {
                    name: 'tmno',
                    data: "tMNo",
                    title: "TMNo",
                    sortable: false,
                    searchable: true
                },
                {
                    name: 'member',
                    data: "member",
                    title: "Müşteri",
                    sortable: false,
                    searchable: true
                },
                {
                    name: 'price',
                    data: "price",
                    title: "Tutar",
                    sortable: false,
                    searchable: true
                },
                {
                    name: 'date',
                    data: "date",
                    title: "Sipariş Tarihi",
                    sortable: false,
                    searchable: true,
                    render: function (data, type, full, meta) {
                        return moment(data).format("DD-MM-YYYY");
                    }
                },
                {
                    name: 'status',
                    data: "status",
                    title: "Durum",
                    sortable: false,
                    searchable: true
                }
            ]
        });
    });

Вот действие c #. Я использую DataTables nuget для него.

namespace DataTables.AspNet.Core
{
    public interface IDataTablesRequest
    {
        int Draw { get; }
        int Start { get; }
        int Length { get; }
        ISearch Search { get; }
        IEnumerable<IColumn> Columns { get; }
        IDictionary<string, object> AdditionalParameters { get; }
    }
}
        [HttpPost]
        public IActionResult TableDatas(IDataTablesRequest request,string status)
        {

            //There are some searchin paging codes...
            var response = DataTablesResponse.Create(request,result.TotalCount,result.FilteredCount, finaldata);

            return new DataTablesJsonResult(response, true);
        }

Когда я отлаживаю скрипт, есть постданные, и он конвертируется в Json. Есть данные, что я хочу. Есть изображение о вкладке сети из браузера. You can look in here

Когда дело доходит до действий. Данные являются нулевыми.

У меня есть конфигурация при запуске.

   services.AddMvc().AddJsonOptions(options => options.SerializerSettings.ContractResolver = new DefaultContractResolver());

   services.RegisterDataTables();

В противном случае, когда я пытаюсь Ajax Get без чего-либо. Нравится. Это работает.

ajax: "@Url.Action("TableDatas", "Admin")",

Но я хочу делать пост-звонки, потому что у меня есть пользовательские фильтры. Мне нужно отправить экстраполяции. Я пытался [FromBody] и т.д ...

Я что-то упустил, но чего я не знаю.

...