Как сделать alert на ajax JS
Можете подсказать , у меня есть график, который использует ajax запрос и с теми данными которые пришли с ajax запроса рисует данные на графике, данные приходят каждые три минуты,и каждые три минуты график динамично двигается, и мне нужно настроить алерт чтоб когда данные были ниже к примеру 500, сработал алерт, и пока не решилась проблема можно было этот алерт свернуть и когда проблема исчезнет , открыть его и отписать проблема исправлена , и тогда чтоб он закрылся.
$(function () {
past = Math.round(new Date().getTime() / 1000) - 4000,
$.ajax(
{
url: '--',
method: 'post',
contentType: 'application/json',
data: '{"jsonrpc": "2.0", "method": "history.get", "params": {"output": "extend","itemids":"32495","sortfield":"clock","time_from":' + past + '}, "id": 1, "auth":""}', // Узнать что(какие аргументы)запрашивать у api php файла
success: grafik,
}
);
function grafik(res) {
Highcharts.chart('container', {
chart: {
type: 'areaspline',
animation: Highcharts.svg, // don't animate in old IE
marginRight: 10,
panning: false,
// pankey: 'shift',
scrollablePlotArea: {
minWidth: 600
},
events: {
load: function () {
var series = this.series[0];
setInterval(function () {
now = new Date().getTime() // 1000
console.log('now=' + SuperTime(now))
past = Math.round(now / 1000) - 500
console.log('past=' + SuperTime(past * 1000))
$.ajax(
{
url: '----',
method: 'post',
contentType: 'application/json',
data: '{"jsonrpc": "2.0", "method": "history.get", "params": {"output": "extend","itemids":"32495","sortfield":"clock","time_from":' + past + '}, "id": 1, "auth":"--"}', // Узнать что(какие аргументы)запрашивать у api php файла
success: function (res) {
console.log(res)
i = res.result.length - 1
console.log('i=' + i)
var x = +res.result[i].clock * 1000,
y = +res.result[i].value
console.log('x=' + SuperTime(x) + ' y=' + y)
series.addPoint([x, y], true, true)
var modal = $modal({
title: 'Текст заголовка',
content: '<p>Содержимое модального окна...</p>',
footerButtons: [
{ class: 'btn btn__cancel', text: 'Отмена', handler: 'modalHandlerCancel' },
{ class: 'btn btn__ok', text: 'ОК', handler: 'modalHandlerOk' }
]
});
}
}
)
}, 180000);
}
}
},
time: {
useUTC: false
},
title: {
text: 'Bits received'
},
xAxis: {
type: 'datetime',
tickPixelInterval: 60
// labels: {
// align: 'left',
// x: 3,
// y: -3
// }
},
yAxis: { // left y axis
title: {
text: 'KBPS'
},
plotLines: [{
value: 10,
width: 1,
color: '#F08080'
}]
},
tooltip: {
headerFormat: '',
pointFormat: '{point.x:%H:%M - %d.%m.%Y}<br/>{point.y:.1f} {series.name}',
crosshairs: [true]
},
legend: {
// align: 'left',
verticalAlign: 'top',
borderWidth: 1
},
// credits: {
// enabled: false
// },
exporting: {
enabled: true
},
series: [{
name: 'kbps',
fillOpacity: 0.3,
type: 'areaspline',
threshold: null,
marker: {
radius: 4
},
data: (function () {
var data = [],
i;
i = 0
while (i < res.result.length) {
x = res.result[i].clock * 1000
y = res.result[i].value
data.push({
x: +x,
y: +y
});
i++
}
return data;
}())
}]
})
}
function SuperTime(x) {
var date = new Date(x);
// Hours part from the timestamp
var hours = date.getHours();
// Minutes part from the timestamp
var minutes = "0" + date.getMinutes();
// Seconds part from the timestamp
var seconds = "0" + date.getSeconds();
// Will display time in 10:30:23 format
return hours + ':' + minutes.substr(-2) + ':' + seconds.substr(-2);
}