var request;
var objJSON;
var id_mongo;
const xhr = new XMLHttpRequest();
const url = "http://pascal.fis.agh.edu.pl/~antek/TI_2025/lab12/stud/"
// Lista rekordow w bazie
function _list() {
xhr.open("GET", url + "list", true);
xhr.responseType = 'json';
xhr.addEventListener("load", e => {
if (xhr.status == 200) {
//objJSON = JSON.parse(request.response);
objJSON = xhr.response ;
var txt = "";
for ( var id in objJSON ) {
txt += id+": {" ;
for ( var prop in objJSON[id] ) {
if ( prop !== '_id')
{ txt += prop+":"+objJSON[id][prop]+","; }
else
{ txt += "id:" + objJSON[id][prop]['$oid']+"," ; }
}
txt +="}
";
}
document.getElementById('data').innerHTML = '';
document.getElementById('result').innerHTML = txt;
}
})
xhr.send(null);
}
// Wstawianie rekordow do bazy
function _ins_form() {
var form1 = "
";
document.getElementById('data').innerHTML = form1;
document.getElementById('result').innerHTML = '';
}
function _insert(form) {
var user = {};
user.ident = form.ident.value;
user.fname = form.fname.value;
user.lname = form.lname.value;
user.faculty = form.faculty.value;
user.year = form.year.value;
txt = JSON.stringify(user);
xhr.open("POST", url + "save", true);
xhr.setRequestHeader('Content-Type', 'application/json')
xhr.addEventListener("load", e => {
if ( xhr.status == 200 ) {
document.getElementById('data').innerHTML = '';
document.getElementById('result').innerHTML = JSON.stringify(xhr.response);
}
})
xhr.send(txt);
}
// Usuwanie rekordow z bazy danych
function _del_list() {
xhr.open("GET", url+ "list", true);
xhr.responseType = 'json';
xhr.addEventListener("load", e => {
if ( xhr.status == 200 ) {
// objJSON = JSON.parse(request.response);
objJSON = xhr.response ;
var txt = "";
document.getElementById('data').innerHTML = txt;
document.getElementById('result').innerHTML = '';
}
})
xhr.send(null);
}
function _delete(form) {
var rec = form.del.selectedIndex;
var id = document.getElementsByTagName('option')[rec].value;
var id_mongo = objJSON[id]['_id']['$oid'];
xhr.open("DELETE", url + "delete1/"+id_mongo, true);
xhr.addEventListener( "load", e => {
if (xhr.status == 200 ) {
document.getElementById('data').innerHTML = '';
document.getElementById('result').innerHTML = JSON.stringify(xhr.response);
}
})
xhr.send(null);
}
// Poprawa rekordow w bazie danych
function _upd_list() {
xhr.open("GET", url + "list", true);
xhr.responseType = 'json';
xhr.addEventListener("load", e => {
if ( xhr.status == 200 ) {
//objJSON = JSON.parse(request.response);
objJSON = xhr.response ;
var txt = "";
document.getElementById('data').innerHTML = txt;
document.getElementById('result').innerHTML = '';
}
})
xhr.send(null);
}
function _upd_form(form) {
var rec = form.del.selectedIndex;
id_rec = document.getElementsByTagName('option')[rec].value;
id_mongo = objJSON[id_rec]['_id']['$oid'];
console.log(id_mongo);
var form1 = "";
document.getElementById('data').innerHTML = form1;
document.getElementById('result').innerHTML = '';
}
function _update(form) {
var user = {};
user.ident = form.ident.value;
user.fname = form.fname.value;
user.lname = form.lname.value;
user.faculty = form.faculty.value;
user.year = form.year.value;
txt = JSON.stringify(user);
xhr.open("PUT", url + "update1/"+id_mongo, true);
xhr.setRequestHeader('Content-Type', 'application/json')
xhr.addEventListener("load", e => {
if ( xhr.status == 200 ) {
document.getElementById('data').innerHTML = '';
document.getElementById('result').innerHTML = JSON.stringify(xhr.response);
}
})
xhr.send(txt);
}