Hỏi: Về auto ajax request tới action và hiển thị trong javascript
Chào các bạn!
Mình đang có một bài toán mà chưa biết cách xử lý như thế nào. Giả sử trong database mình có bảng sản phẩm, và có trường số lượng. Khi số lượng nhỏ hơn giá trị nào đó, mình muốn hiện lên một popup thông báo là có sản phẩm sắp hết mà không phải refresh lại trang.
Mình làm như thế này!
1) Khai báo một div ẩn khi load trang lần đầu tiên
<div id="top-link">Thông tin cảnh báo - <span id="spanShow"></span></div>
<style type="text/css">
#top-link { display:none; position:fixed; right:5px; bottom:5px; color:green; font-weight:bold; text-decoration:none; border:1px solid green; background:Lightgreen; padding:10px; }
</style>
2) Đoạn script để request dữ liệu 15 giây 1 lần
<script type="text/javascript">
var auto_refresh = setInterval(
function () {
var currentDate = new Date();
var time = currentDate.getSeconds();
$('#spanShow').text(time);
$('#top-link').fadeIn("slow");
}, 15000); // refresh every 10000 milliseconds
</script>
Hiện tại nếu mình chạy đoạn code trên, thì cứ 15 giây, cái div đó hiển thị một giá trị thời gian (giây) hiện tại. Nhưng bây giờ mình muốn từ đoạn script này gọi một action trong controller (ví dụ: action này trả ra true hoặc false là có sản phẩm sắp hết), khi đọc dữ liệu từ action đó là true, thì sẽ hiển thị cái div top-link kia ra.
Mong các bạn giúp đỡ, mình đã google nhiều và thử nhiều nhưng chưa làm được. Mình cũng mới làm quen với MVC, nên không có kinh nghiệm!
Rất cảm ơn!
Mình đang có một bài toán mà chưa biết cách xử lý như thế nào. Giả sử trong database mình có bảng sản phẩm, và có trường số lượng. Khi số lượng nhỏ hơn giá trị nào đó, mình muốn hiện lên một popup thông báo là có sản phẩm sắp hết mà không phải refresh lại trang.
Mình làm như thế này!
1) Khai báo một div ẩn khi load trang lần đầu tiên
<div id="top-link">Thông tin cảnh báo - <span id="spanShow"></span></div>
<style type="text/css">
#top-link { display:none; position:fixed; right:5px; bottom:5px; color:green; font-weight:bold; text-decoration:none; border:1px solid green; background:Lightgreen; padding:10px; }
</style>
2) Đoạn script để request dữ liệu 15 giây 1 lần
<script type="text/javascript">
var auto_refresh = setInterval(
function () {
var currentDate = new Date();
var time = currentDate.getSeconds();
$('#spanShow').text(time);
$('#top-link').fadeIn("slow");
}, 15000); // refresh every 10000 milliseconds
</script>
Hiện tại nếu mình chạy đoạn code trên, thì cứ 15 giây, cái div đó hiển thị một giá trị thời gian (giây) hiện tại. Nhưng bây giờ mình muốn từ đoạn script này gọi một action trong controller (ví dụ: action này trả ra true hoặc false là có sản phẩm sắp hết), khi đọc dữ liệu từ action đó là true, thì sẽ hiển thị cái div top-link kia ra.
Mong các bạn giúp đỡ, mình đã google nhiều và thử nhiều nhưng chưa làm được. Mình cũng mới làm quen với MVC, nên không có kinh nghiệm!
Rất cảm ơn!