我想检查用户是否使用javascript从另一个系统更新。运行ajax函数,每3秒检查一次json响应
我需要编写一个函数来检查json响应。如果是真或假。
的URL /user/updatecheck/
有这样的JSON响应:{"updated": "true"}
或{"updated": "false"}
<script type="text/javascript">
$(document).ready(function() {
var updated='2013-01-02T10:30:00.00:00'; //user variable from the system, will be empty if the user is not updated
if (!updated){
$('#not-updated').modal('show');
var updatedCheck = window.setInterval(
$.ajax({
url: "/user/updatecheck/", //Returns {"updated": "true"} or {"updated": "false"}
data: dataString,
dataType: "json",
success: function(data){
if (json.updated == 'true') { //not sure if this is the correct method
window.clearInterval(updatedCheck);
//The user is updated - the page needs a reload
}
} //success
})
, 3000); //Hoping this is the function to check the url every 3 seconds until it returns true
}
});
$(document).ajaxStop(function(){
window.location.reload();
});
</script>
这似乎并没有工作。不知道我的ajax函数是否正确,如果用户一开始没有更新,我只会得到模态窗口,并且如果url返回true,页面不会重新加载。
检查半秒可能是矫枉过正。 – Brandon
也许你应该使用保持活着的请求。 –
@EdsonMedina:我如何使用任何提示保持活着? –