當我運行bttn click event
以下的代碼時doesn't return a data for success method.
但它適用於控制器方法並返回false(布爾值)作爲輸出。我需要從javascript代碼中選擇該布爾值。成功的方法不會在Ajax調用上觸發
爲什麼它不起作用?
Javascript代碼是如下:
$('#btnClockInTime').off('click').on('click', function() {
var isClockOutTimeCompleted = true;
$.ajax({
url: "/Employees/IsClockOutTimeCompleted",
type: "GET",
dataType: "json",
cache: false,
data: { employeeId: employeeId },
success: function (data) {
if (!data) {
isClockOutTimeCompleted = data;
}
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status);
alert(thrownError);
}
});
return false;
});
控制器的操作方法是如下:
[HttpGet]
public JsonResult IsClockOutTimeCompleted(Guid employeeId)
{
var clockingDate = Convert.ToDateTime(DateTime.Today);
var isClockOutTimeCompleted = Repository.IsClockOutTimeCompleted(employeeId, clockingDate);
return Json(isClockOutTimeCompleted, JsonRequestBehavior.AllowGet);
}
庫代碼是如下:
public bool IsClockOutTimeCompleted(Guid employeeId, DateTime clockingDate)
{
var clockOutTime = (from c in Catalog.EmployeeClockInOutTimes
where (c.Employee.Id == employeeId && c.Created == clockingDate && c.ClockOut == null)
select c).FirstOrDefault();
return clockOutTime == null;
}
UPDATE:
響應是如下:
更新2:
屏幕1:
屏幕2:
屏幕3:
如上我的調試不進入成功方法圖像中示出。 第二個屏幕(當在error
處進行調試)後,它將進入控制器並帶來數據。 第三個屏幕顯示從控制器返回後的狀態。任何想法?
是否因爲您未執行請求作爲帖子? – 2013-03-05 09:18:22
在控制檯中的任何錯誤? – Jai 2013-03-05 09:18:37
'if(!data)'這意味着被檢查的值是布爾值。數據是布爾值嗎? – Aashray 2013-03-05 09:18:38