Nibo
Registered
Alonsopower, that would be too complicated, too much work that I can not do right now (and highly likely never).
$.ajax({
url: 'http://your-r2la-address:port/live/get_server_data_jsonp',
type: 'GET',
dataType: 'jsonp',
crossDomain: true,
data: {},
success: function (data, textStatus, xhr) {
console.log(data);
},
error: function (xhr, textStatus, errorThrown) {
console.log(errorThrown);
}
});
server_names_list: ['Server Name1', 'Server Name2', ...],
server_data: {
"Server Name1": {
session: session code (0=testday 1-4=practice 5-8=qual 9=warmup 10-13=race),
track_name: "Track Name",
vehicles: [
{best_lap_time: lap time in seconds,
driver_name: "Driver Name1",
vehicle_class: "Vehicle Class1",
vehicle_name: "Vehicle Name1"},
{ ... },
]},
"Server Name2": { ... },
}
var short_poll = function () {
$.ajax(
...
success: function (data, textStatus, xhr) {
console.log(data);
// show data
setTimeout(short_poll, 5000)
},
);
short_poll();
... then use returned "data" object to show data on your page. You will need to know some JS for this. Make short poll function to get data at some interval, like this:
Code:var short_poll = function () { $.ajax( ... success: function (data, textStatus, xhr) { console.log(data); // show data setTimeout(short_poll, 5000) }, ); short_poll();
<div id="servers_widget">
<div id="servers_list"></div>
</div>
<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
<script>
var short_poll = function () {
$.ajax({
url: 'http://xxx.xxx.xxx.xxx:xxxx/live/get_server_data_jsonp',
type: 'GET',
dataType: 'jsonp',
crossDomain: true,
data: {},
success: function (data, textStatus, xhr) {
//console.log(data);
$('#servers_list').empty();
if (data) {
if (data.server_names_list.length > 0) {
$.each(data.server_names_list, function(index, value) {
$('#servers_list').append($('<div id="server_'+index+'"></div>'));
$('#server_'+index).append($("<div>"+value+"</div>"));
$('#server_'+index).append($("<div>"+data.server_data[value]['track_name']+"</div>"));
$('#server_'+index).append($('<div id="vehicles_'+index+'"></div>'));
$.each(data.server_data[value]['vehicles'], function(index2, value2) {
$('#vehicles_'+index).append($("<div><span>"+(index2+1).toString()+". "+value2['driver_name']+" - "+value2['vehicle_name']+"</span></div>"));
});
});
}
}
setTimeout(short_poll, 5000)
},
error: function (xhr, textStatus, errorThrown) {
console.log(errorThrown);
}
});
}
short_poll();