![](/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.