![](/img/trans.png)
[英]Why my ajax/fetch call does not work with no Route in my controller?
[英]Why does my ajax call not returning my data from controller?
我很难从客户端获取数据,但是当我处于断点时,我在 visual studio 上的代码会获取数据,但我无法在浏览器上接收数据。
这是我的 AJAX 电话
function GetRecord() {
var elemEmployee = 55;
var startDT = $('#searchFilterStartDate').val();
var endDT = $('#searchFilterEndDate').val();
$.ajax({
url: "/Modules/GetDTRRecord",
type: "GET",
data: {
EmployeeID: elemEmployee,
DateFrom: endDT,
DateTo: startDT,
},
dataType: "json",
success: function(data) {
console.log('Data Success ');
console.log(data);
}
});
}
这是我的 controller:
[HttpGet]
public List<DTRRecordList.Entity> GetDTRRecord(DTRRecordList.Entity data)
{
var entity = new DTRRecordList();
return entity.GetDTR(data);
}
正如您在下面看到的,我有 38 条记录,但我无法在我的 js 上接收到它,即使我的控制台上没有显示console.log('Data Success')
。
您需要从Controller
方法返回JSON
。 您可以将方法更改为:
[HttpGet]
public JsonResult GetDTRRecord(DTRRecordList.Entity data)
{
var entity = new DTRRecordList();
var getDTR= entity.GetDTR(data);
return Json(new {dtrData= getDTR});
}
在您的Ajax
电话中:
$.ajax({
url: "/Modules/GetDTRRecord",
type: "GET",
data: {
EmployeeID: elemEmployee,
DateFrom: endDT,
DateTo: startDT,
},
dataType: "json",
success: function(data) {
console.log('Data Success ');
console.log(data.dtrData);
},
error: function(error) {
console.log(error)
}
});
在与 OP 讨论并查看代码后,发现问题的发生是因为form
提交正在发生,导致页面重新加载两次。 删除表单事件并在以下位置添加点击事件后:
$(document).ready(function () {
//On Clink "Search Button"
$("#searchbtn").click(
function () { GetRecord(); });
});
数据似乎如期而至。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.