我创建了一个功能,可以在用户自动注销之前设置一段时间,如果他在那段时间闲置的话。用户可以自己选择这个时间,这就是我编写AJAX调用的原因。
旁注:我是Javascript / Jquery / ...初学者。
function checkTimeBeforeIdle() {
alert("BEFORE: " + localStorage.getItem("timeBeforeIdle"));
if (localStorage.getItem("timeBeforeIdle") === null || localStorage.getItem("timeBeforeIdle") == "undefined")
{
localStorage.setItem("timeBeforeIdle", getTimeBeforeIdle());
alert("AFTER: " + localStorage.getItem("timeBeforeIdle"));
}
}
function getTimeBeforeIdle() {
$.ajax({
url: 'Idle/GetTimeBeforeIdle',
type: 'GET',
dataType: 'json',
success: function (data) {
// process the data coming back
alert("DURING: " + data);
return data;
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status);
alert(thrownError);
}
});
}
我使用此配置获得的警报(按相同顺序):
之前:未定义
AFTER:undefined
期间:15
我期望的行为是:
之前:未定义
期间:15
AFTER:15
从我的C#'体验'我认为应该等待某种方法吗?这是对的,如果是的话,我该怎么做?或者应该以何种方式实现此功能。
我看到已经提出了多个相似的问题,但我并不真正理解那里的答案以及如何在我的代码中使用它。也许有人可以解释这里找到的答案:How do I return the response from an asynchronous call?对我来说更具体。