我有JQuery函数,它从UI获取dateStart和dateEnd,然后将这些参数传递给控制器。这里的问题是控制器没有得到任何请求,没有显示错误?谁能解释为什么会这样?
JQuery:
$("#btn_search").click($.proxy(function () {
var dateStart = document.getElementById('dataStart').value;
var dateEnd = document.getElementById('dateEnd').value;
KeyWord.getGroup(dateStart, dateEnd,
function (data) {
$("#view_table").ViewTable('option', 'data', data);
},
function () { },
function () { Metronic.unblockUI(); });
}))
var KeyWord = function () {
var url_Log = "api/Log/Search";
return {
getGroup: function (dateStart, dateEnd, done, fail, always) {
var jqxhr = $.get(url_Log, { dateStart: dateStart, dateEnd: dateEnd });
jqXhrHandler(jqxhr, done, fail, always);
}
}
}();
控制器:
[HttpGet]
public string Search(DateTime? dateStart, DateTime? dateEnd)
{
LogDalc dalc = new LogDalc();
DateTime _sdate = dateStart == null ? DateTime.MinValue : (DateTime)dateStart;
DateTime _edate = dateEnd == null ? DateTime.MinValue : (DateTime)dateEnd;
return dalc.Sel(_sdate, _edate);
}
答案 0 :(得分:2)
我认为您的问题是如何设置网址,更改
var url_Log = "api/Log/Search";
到
var url_Log = "/api/Log/Search";
看,如果你在http://domain/Home/About并且你执行了这个函数,那么被调用的网址是http://domain/Home/api/Log/Search,但是,如果你在网址的添加处添加/,那么网址就是被称为http://domain/api/Log/Search