在 ajax 调用中使用 datatable url 属性将参数传递给服务器
Posted
技术标签:
【中文标题】在 ajax 调用中使用 datatable url 属性将参数传递给服务器【英文标题】:pass parameter to the server using datatable url property in ajax call 【发布时间】: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();
【问题讨论】:
参数从哪里来? 【参考方案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.
【讨论】:
以上是关于在 ajax 调用中使用 datatable url 属性将参数传递给服务器的主要内容,如果未能解决你的问题,请参考以下文章
在 MVC 应用程序中使用 DataTables.NET ajax 调用访问 WebAPI 2 json
为 jquery datatables ajax 调用设置错误处理程序
jquery datatables 列渲染:多个 Ajax 调用
禁用初始自动 ajax 调用 - DataTable 服务器端分页