【问题标题】:pass parameter to the server using datatable url property in ajax call在 ajax 调用中使用 datatable url 属性将参数传递给服务器
【发布时间】:2017-05-13 13:48:39
【问题描述】:

我正在使用数据表并在 ajax 请求中进行初始化时,我正在使用 data- 属性设置 url

...
 "ajax": {
            "url": $('#mypage').data('source'),
            "type": "GET",
}...

网页中嵌入的网址如下所示

 <divid="mypage" data-source=@Url.Action("CalculateSomething")>
 ...
</dv>

在服务器端我期待参数 someId

public JsonResult CalculateSomething(int someId)
{
}

我的问题是:

如何使用 datatable 中的 url 属性将参数传递给服务器 上面的ajax调用?

更新 参数将来自 javascript 内的下拉元素中的值,如

var someId = $('#mydropdown').val();

【问题讨论】:

  • 参数从哪里来?

标签: jquery ajax asp.net-mvc datatables


【解决方案1】:

有两种方法,一种是你可以像这样在url中连接:

 "ajax": {
            "url": $('#mypage').data('source')+"someId="+id,
            "type": "GET",
}

另一种方法是使用 ajax 的 data 属性:

"ajax": {
            "url": $('#mypage').data('source')+"someId=123",
            "type": "GET",
            "data": function (data) {

                            data.someId= 123;

                        }
}

【讨论】:

  • 数据属性是:)
【解决方案2】:

检查$.ajax 上的文档。对于参数,您可以使用 data 属性。像这样:

 url: function(e) { return $('#mypage').data('source'); },
 type: "GET",
 data:
     {
         someId: function(e) { return $('#mydropdown').val(); }, //here is your param
     },
 dataType: "json", //it's better to declare datatype, becouse you using JsonResult in your controller response.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-19
    • 2016-02-07
    • 1970-01-01
    • 2021-09-29
    • 1970-01-01
    • 2015-08-24
    • 2012-01-15
    相关资源
    最近更新 更多