为什么我的 ajax 调用没有从控制器返回我的数据?
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);
}
});
}
这是我的控制器:
[HttpGet]
public List<DTRRecordList.Entity> GetDTRRecord(DTRRecordList.Entity data)
{
var entity = new DTRRecordList();
return entity.GetDTR(data);
}
正如您在下面看到的,我有 38 条记录,但我无法在我的 js 上接收到它,即使 console.log('Data Success')
没有显示在我的控制台上。
您需要 return JSON
从您的 Controller
方法。您可以将方法更改为:
[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)
}
});
在与 O.P 讨论并查看代码后,发现问题的发生是因为 form
提交正在发生,导致页面重新加载两次。在删除表单事件并添加点击事件后:
$(document).ready(function () {
//On Clink "Search Button"
$("#searchbtn").click(
function () { GetRecord(); });
});
数据似乎如期而来。
我很难从客户端获取数据,但是我在 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);
}
});
}
这是我的控制器:
[HttpGet]
public List<DTRRecordList.Entity> GetDTRRecord(DTRRecordList.Entity data)
{
var entity = new DTRRecordList();
return entity.GetDTR(data);
}
正如您在下面看到的,我有 38 条记录,但我无法在我的 js 上接收到它,即使 console.log('Data Success')
没有显示在我的控制台上。
您需要 return JSON
从您的 Controller
方法。您可以将方法更改为:
[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)
}
});
在与 O.P 讨论并查看代码后,发现问题的发生是因为 form
提交正在发生,导致页面重新加载两次。在删除表单事件并添加点击事件后:
$(document).ready(function () {
//On Clink "Search Button"
$("#searchbtn").click(
function () { GetRecord(); });
});
数据似乎如期而来。