提问者:小点点

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


我使用数据表和初始化内部ajax请求我设置url使用data-属性

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

嵌入在页面中的url如下所示

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

在服务器端,我在等参数

public JsonResult CalculateSomething(int someId)
{
}

我的问题是:

如何在上述ajax调用中使用DataTableURL属性将参数传递给服务器?

update参数将作为类似javascript的下拉元素中的值出现

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

共2个答案

匿名用户

有两种方法,一种是你可以连接在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;

                        }
}

匿名用户

检查$. 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.