Пт май 29, 2020 16:07:34
У вас сервер на микроконтроллере?Eddy_Em писал(а):А если серьезно, хотел бы я посмотреть на скрипт на пыхпыхе, который будет по CAN-шине и USB работать с железками
Сб май 30, 2020 16:48:14
Вс май 31, 2020 15:27:04
http://myserver.lan/GetDynamicData?DataSource=myDevice
{"data_1":127,"data_2":"что-то там..."}
<div id="DataOne"></div>
<div id="DataTwo"></div>
// JSON request function
function fetch(url, method, callback, time_out){
var xhr = new XMLHttpRequest();
xhr.onloadend = function(){
callback(xhr.status, xhr.responseText);
}
xhr.ontimeout = function(){
callback(-1, null);
}
xhr.open(method, url, true);
xhr.setRequestHeader('Accept', 'application/json');
xhr.timeout = (time_out || 10) * 1000;
xhr.send();
}
// Syntactical sugar
var $ = function(selector){
return document.querySelector(selector);
}
// Refresh end
function DataReceived(mStatus, mResponse){
// Если сервер вернул код 200
if(mStatus == 200){
// Парсим полученную в ответе JSON строку
var rData = JSON.parse(mResponse);
// Заполняем поля на странице
$('#DataOne').innerText = rData.data_1;
$('#DataTwo').innerText = rData.data_2;
}
}
// Refresh start
function RefreshDynamicData(){
// Шлем запрос серверу
fetch('/GetDynamicData?DataSource=myDevice', 'GET', DataReceived, 10);
}
// Эта функция вызовется при загрузке страницы
window.onload = function(){
// Вызовем функцию при загрузке страницы
RefreshDynamicData();
// Заводим периодический таймер, который будет дергать функцию раз в 15 секунд
var Timer = setInterval(RefreshDynamicData, 15000);
}
Сб июн 13, 2020 21:59:42
Вс июн 14, 2020 01:27:02
В быту использую айфоны
Вт июн 16, 2020 14:16:38
В быту использую айфоны
Пт июн 19, 2020 15:56:41
Вт авг 04, 2020 18:17:44
Пт авг 07, 2020 08:12:08
var x = new XMLHttpRequest();
x.onerror = function() {
var data = document.getElementById("data");
if (data != null) {
data.innerHTML = '<div class="err">Device not connected</div>';
}
};
Пт авг 07, 2020 20:41:49
Пн авг 10, 2020 08:22:41
Пн авг 10, 2020 09:31:11
Пн авг 10, 2020 09:37:52
так я и разделил. только с JSON-ом связываться не стал, тупо возвращаю нужный мне <div> и меняю по id его содержимое.NStorm писал(а):лучше разделите данные и представление
Пн авг 10, 2020 09:46:01
Пн авг 10, 2020 12:46:12
NStorm писал(а):Если не страдать красноглазием
<script type="text/javascript" >
var x = new XMLHttpRequest();
x.onerror = function() {
var data = document.getElementById("data");
if (data != null) {
data.innerHTML = '<div class="err">Device not connected</div>';
}
};
x.onload = function (){
var s = x.responseText;
if(s.indexOf('ERROR') == 0){
alert('Пардон!');
return;
}
var data = document.getElementById("data");
if (data != null) {
data.innerHTML = s;
}
};
function get_data(s) {
if (s != ""){
s = "data?" + s;
} else {
s = "data";
};
x.open("GET", s, true);
x.send(null);
timer = setTimeout(get_data, 333, "");
};
function change_mode() {
clearTimeout(timer);
get_data("mode");
};
var timer = setTimeout(get_data, 333, "");
function prn(){
clearTimeout(timer);
get_data("prn");
};
</script>
Пн авг 10, 2020 14:01:55
Пн авг 10, 2020 19:02:53
Чт авг 13, 2020 09:14:25
короче, и та хрень, что в стандарте по рекомендованой ссылке (listener с event-ом типа "error") нихрена на мобильном браузере не работает.AAX писал(а):Это происходит от того, что XMLHttpRequest.onerror не в стандарте
Ср авг 19, 2020 01:50:05
Ср авг 19, 2020 11:09:45