123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- function jsonPost(url, data)
- {
- return new Promise((resolve, reject) => {
- var x = new XMLHttpRequest();
- x.onerror = () => reject(new Error('jsonPost failed'))
- //x.setRequestHeader('Content-Type', 'application/json');
- x.open("POST", url, true);
- x.send(JSON.stringify(data))
- x.onreadystatechange = () => {
- if (x.readyState == XMLHttpRequest.DONE && x.status == 200){
- resolve(JSON.parse(x.responseText))
- }
- else if (x.status != 200){
- reject(new Error('status is not 200'))
- }
- }
- })
-
- }
-
- var send = document.getElementById('send');
- var nick = document.getElementById('nick');
- var mes = document.getElementById('message');
-
-
- send.onclick = function(){
- var obj = {
- func: "addMessage",
- nick: nick.value,
- message: mes.value,
- }
- jsonPost("http://students.a-level.com.ua:10012", obj);
- }
-
- var mesInd = 0;
- var smiles = {
- ':)' : 'http://www.kolobok.us/smiles/light_skin/diablo.gif',
- ';)' : 'http://www.kolobok.us/smiles/light_skin/hunter.gif',
- ':(' : 'http://www.kolobok.us/smiles/light_skin/dash3.gif'
- }
-
- var interval = setInterval(() => {
- var obj2 = {
- func: "getMessages",
- messageId: mesInd,
- }
- jsonPost("http://students.a-level.com.ua:10012", obj2)
- .then((res) => {
- console.log(res)
- var divG = document.getElementById('get');
- mesInd = res.nextMessageId;
- for(i=0;i<res.data.length; i++){
- // messages.push(key);
- var newMes = document.createElement('div');
- var nick = res.data[i].nick;
- var message = res.data[i].message;
- var img = res.data[i].img;
- // var img = `<img src="/^(https?:\/\/)?([\w\.]+)\.([a-z]{2,6}\.?)(\/[\w\.]*)*\/?$/'>`
- for (let smile in smiles) {
- message = message.replace(smile, `<img src="${smiles[smile]}">`);
- }
- newMes.innerHTML = `${nick} : ${message} :${img}`;
- divG.prepend(newMes);
- }
-
- })
- },1000);
- // asynk await
|