我正在尝试使用get向我的控制器方法发送日期,我的JQuery运行,我可以在IE Debugger中看到我的console.logs和network选项卡的输出。我的问题是日期接缝在发送时被加扰,而我只是在另一端得到null。
这里是GET请求的URL(接缝是大量添加的空格(输入时论坛api删除了空白空间)
/主页/ AjaxGetDataForDate? 11/09/2014 10:25:38
我如何纠正这个以便传递数据?
我的Jquery:
$("#basicModal2 tr").click(function () {
var trdate1 = $(this).closest('tr').find(":nth-child(2n)").css("background", "#ff0000");
var trdate = $(this).closest('tr').find(":nth-child(2n)").text();
alert(trdate)
$.ajax({
type: "GET",
url: "/Home/AjaxGetDataForDate",
data: trdate,
datatype: "html",
success: function (data) {
console.log("Succes!");
var $detailDiv2 = $('#superdatadiv2');
$detailDiv2.replaceWith(data);
},
error: function () {
console.log("Error!");
},
complete: function () {
$('#basicModal4').modal('show');
console.log("Complete!");
}
});
});
我的控制器方法(发送GET后,filterdate应该包含日期(而不是包含null))
public ActionResult AjaxGetDataForDate(string filterdate)
{
var filterresults = from m in db2.ANDROID_BATTERY select m;
filterresults = filterresults.Where(x => x.TEST_DATE.ToString().Contains(filterdate));
MasterModel model = new MasterModel();
model.BatteryInfo = filterresults;
return GetAjaxData2(model);
}
答案 0 :(得分:1)
将'filterdate'
名称赋予ajax调用中的数据,与控制器操作参数中的数据相同,即'filterdate'
,如下所示:
而不是
data: trdate,
尝试
data: { filterdate : trdate },
答案 1 :(得分:1)
替换
data: trdate,
与
data: {
filterdate : trdate
},
在ajax
函数调用中,因为您在filterdate
的{{1}}中使用了action method
。