Jump to content

"undefined"-flood, requests not receving response, etc


Uzm

Recommended Posts

Hello guys.

I've been working on an AJAX/PHP/MySQL-chat for a bit now, and recently run into a problem that i can't really solve, and getting a bit desperate.

The problem is that i'm getting loads of "undefined" errors, and sometimes requests (aspecially on function getData()) ain't getting response. I've been googling about this a lot, read loads of topics on loads of forums, and more, but i can't solve my problem.

Could you help me a bit?

 

var chatUrl = "http://localhost/chat/";
var imgloaded = new Array();
var msgtime = 1;
var imgdir = "http://localhost/chat/images/";
var sysimages = new Array("info.gif", "pr.gif", "privat.gif");
var sysloaded = new Array();
var loggedIn = false;
var userId;
var userName;
var level;
var yo;
var exitRequest = createRequest();
var sendMsgRequest = createRequest();
var getDataRequest = createRequest();
var enterChatRequest = createRequest();
var loadedTimeout = 3500;
var loadingTimeout = 3500;
var date = new Date();
var timestamp = date.getTime();
var images = new Array(["01.gif", ":цоол"],["02.gif", ":слёзы"],["03.gif", ":дурак"],["04.gif", ":цветы"],["05.gif", ":хурхур"], ["06.gif", ":неа"],["07.gif", ":о"],["08.gif", ":ржу"],["09.gif", ":глазки"],["10.gif", ":роза"],["11.gif", ""],["12.gif", ":сплю"],["13.gif", ""],["14.gif", ":вылез"],["15.gif", ":растяг"],["16.gif", ":ога"],["17.gif", ""],["18.gif", ":обида"],["19.gif", ":двигай"],["20.gif", ":правила"],["21.gif", ":гнев"],["22.gif", ":гы"],["23.gif", ":ура"],["24.gif", ":хмм"],["25.gif", ":ангел"],["26.gif", ":стоп"],["27.gif", ":подлиз"],["28.gif", ":смех"],["29.gif", ":любовь"],["30.gif", ":пока"],["31.gif", ":прости"],["32.gif", ":ляля"],["33.gif", ":смущение"],["34.gif", ":язык"],["35.gif", ":поцелуй"],["36.gif", ":целуются"],["37.gif", ":айкидо"],["38.gif", ":отдых"],["39.gif", ":босс"],["40.gif", ":команда"],["41.gif", ":псих"],["42.gif", ":ковыряю"],["43.gif", ":ах"],["44.gif", ":кик"],["45.gif", ":автомат"],["46.png", ")"],["47.gif", ":палец"],["48.png", ":нини"],["49.png", ":аццтой"],["50.png", ":зелёный"],["51.png", ":молчу"],["52.png", ":молодец"],["53.png", ":гасп"],["54.png", ":херасе"],["55.png", ":зубы"],["56.png", ":брр"],["57.gif", ":слушаю"],["58.gif", ":помидоры"],["59.gif", ":крошим"],["60.gif", ":стена"],["61.gif", ":мат"],["62.gif", ":курю"],["63.gif", ":кенни"],["64.gif", ":программер"],["65.png", ":слюни"],["66.gif", ":соска"],["67.gif", ":пиво"]);

for (i = 0; i < sysimages.length; i++) {
sysloaded[i] = new Image();
sysloaded[i].src = imgdir + sysimages[i];
}

function createRequest() {
if (window.XMLHttpRequest) {
return new XMLHttpRequest();
} else if(window.ActiveXObject) {
return new ActiveXObject("Microsoft.XMLHTTP");
} else {
alert("Error initializing XMLHttpRequest!");
}
}

function loaded () {
document.getElementById("win").style.visibility = "visible";
document.getElementById("main").style.visibility = "hidden";
yo = setTimeout('getData()', loadedTimeout);
}

function exit () {
exitRequest.open("POST", chatUrl + "exit.php", true);
exitRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
exitRequest.send("");
clearTimeout(yo);
loggedIn = false;
document.getElementById("main").style.visibility = "visible";
document.getElementById("win").style.visibility = "hidden";
}

function send (msg, to) {
if (sendMsgRequest.readyState == 4 || sendMsgRequest.readyState == 0) {
sendMsgRequest.open("POST", chatUrl + "send.php", true);
sendMsgRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
sendMsgRequest.send("msg=" + encodeURIComponent(msg) + "&userId=" + userId + "&to=" + to + "&timestamp=" + timestamp);
}
}

function getData() {
if (getDataRequest.readyState == 4 || getDataRequest.readyState == 0) {
getDataRequest.open("POST", chatUrl + "get.php", true);
getDataRequest.onreadystatechange = getDataEvent;
getDataRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
getDataRequest.send("userId=" + userId + "&msgtime=" + msgtime + "&timestamp=" + timestamp);
}
if (loggedIn == true) {
yo = setTimeout('getData()', loadingTimeout);
}
}

function getDataEvent() {
if (getDataRequest.readyState == 4) {
if (getDataRequest.status == 200) {
if (getDataRequest.responseText.substr(0,1) == "|") {
clearTimeout(yo);
alert(getDataRequest.responseText.substr(1,getDataRequest.responseText.length - 1));
exit();
}
else {
var lines = getDataRequest.responseText.split('\n');
lines.length = lines.length - 1;
if (lines.length > 0) {
onlineUserList = lines[0].split("|");
onlineUserList.length = onlineUserList.length - 1;
}
if (lines.length > 1) {
for (i = 1; i < lines.length; i++) {
var msg = lines[i].split("|");
try {
parent.talk.printmsg(msg[0],msg[1],msg[2],msg[3]);
} catch (e) {
}
msgtime = msg[4];
}
}
seichas = document.getElementById("chatlan");
mysp = document.createElement("span");
hrprfr = document.createTextNode("ЮЗЕРОВ ОНЛАЙН: " + onlineUserList.length);
mysp.appendChild(hrprfr);
seichas.replaceChild(hrprfr, seichas.firstChild);
parent.menu.printmenu();
}
}
else {
alert("Ошибка запроса к серверу: " + enterRequest.status);
}
}
}

function enterChat (userName, password) {
if (enterChatRequest.readyState == 4 || enterChatRequest.readyState == 0) {
enterChatRequest.open("POST", chatUrl + "enter.php", true);
enterChatRequest.onreadystatechange = enterChatEvent;
enterChatRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
enterChatRequest.send("login=" + userName + "&password=" + password);
}
}

function enterChatEvent() {
if (enterChatRequest.readyState == 4) {
if (enterChatRequest.status == 200) {
if (enterChatRequest.responseText.indexOf("|") != -1) {
var user = enterChatRequest.responseText.split("|");
userId = user[0];
userName = user[1];
level = user[2];
loggedIn = true;
loaded();
}
else if (enterChatRequest.responseText == 'n') {
alert("Ошибка при входе в чат: Вы ввели неправильный логин и/или пароль!");
}
else {
alert("Ошибка при входе в чат: " + enterChatRequest.responseText);
}
}
else {
alert("Ошибка запроса к серверу: " + enterChatRequest.status);
}
}
}

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.