[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: функции блокируют друг друга
flinth
Я не очень силен в JS, поэтому появился такой вопрос:

у меня есть несколько функций - логин, пост коммента и выход, мм вообще они скорее с ajax больше связанны но суть не в серверной части как раз а в js.

Когда я логинюсь, например, я могу добавить коммент, но выйти не получается, функция просто не вызывается (тестил alert и логом). Но если страницу обновить (я уже буду залогинен), могу и коменты добавлять и выйти, но после этого залогинеться не могу опять, теперь функция логина не вызывается. Короче функция логина каким то образом мешает функции выхода. Чем это может быть вызванно? что может быть причиной?



Спустя 1 минута, 24 секунды (14.08.2012 - 14:38) Игорь_Vasinsky написал(а):
Цитата
Чем это может быть вызванно?


ты же знаешь - вот

Цитата
функции блокируют друг друга

Спустя 3 минуты, 7 секунд (14.08.2012 - 14:41) sergeiss написал(а):
flinth - ты думаешь, тут много телепатов, способный дистанционно просканировать твой код и дать ответ? smile.gif
Показывай код. Только не длинную "портянку", а ту часть, которая проблемная.

Спустя 6 минут, 51 секунда (14.08.2012 - 14:48) flinth написал(а):
если б я знал где проблемная часть справился сам =/ я вообще про теоретическую часть вопроса спрашивал, например при завершении функции не хватает где-то return или что-то в этом роде.

function log_out(){

if(name && user_id){
var checkStr = "id="+user_id+"&name="+name;
var xmlHttpReq = false;
var self = this;
if (window.XMLHttpRequest) {
self.xmlHttpReq = new XMLHttpRequest();
}
else if (window.ActiveXObject) {
self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
}
self.xmlHttpReq.open('POST', './handler.php', true);
self.xmlHttpReq.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
self.xmlHttpReq.onreadystatechange = function() {
if (self.xmlHttpReq.readyState == 4 && self.xmlHttpReq.status == 200) {
if(self.xmlHttpReq.responseText ==1){
user_id = '';
name = '';
return;
}
}
}

self.xmlHttpReq.send(checkStr);
}
else
return
;
}


Спустя 4 минуты, 18 секунд (14.08.2012 - 14:52) Игорь_Vasinsky написал(а):
а тут нечего нет biggrin.gif стандартная функция для работы с ajax

в консоле ошибки есть?

Спустя 2 минуты, 3 секунды (14.08.2012 - 14:54) flinth написал(а):
в консоле нет, дак вот в том то и дело что ошибок тоже я не нашел выложу логин, но он длиннее
function login(){
var error = false;
var email = document.getElementById('login_email').value;
var password = document.getElementById('login_pass').value;
if(!error){

var checkStr = "email="+email+"&password="+password;
var xmlHttpReq = false;
var self = this;

if (window.XMLHttpRequest) {
self.xmlHttpReq = new XMLHttpRequest();
}
else if (window.ActiveXObject) {
self.xmlHttpReq = new ActiveXObject(\"Microsoft.XMLHTTP\");
}
self.xmlHttpReq.open('POST', './handler.php', true);
self.xmlHttpReq.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
self.xmlHttpReq.onreadystatechange = function() {
if (self.xmlHttpReq.readyState == 4 && self.xmlHttpReq.status == 200) {
if(self.xmlHttpReq.responseText ==1 ){
error = true;
return;
}
else{
var pattern_id = /([0-9]+)/;
var id = pattern_id.exec(self.xmlHttpReq.responseText);
var pattern_user = /name=([A-ZА-Яа-яa-z0-9_-]+)/;
var user = pattern_user.exec(self.xmlHttpReq.responseText);
user_id = id[1];
name = user[1];

document.getElementById('name').innerHTML = name+'<span class=\"sep\">|</span> <a href="javascript:log_out()">Выход</a>';
document.getElementById('name').style.display = 'block';
add_comment();
return;
}

}

}

self.xmlHttpReq.send(checkStr);

}
else
return
;
}

Спустя 4 минуты, 58 секунд (14.08.2012 - 14:59) flinth написал(а):
знаете кажется решил проблему =/

когда код постил заметил,
document.getElementById('name').innerHTML = name+'<span class=\"sep\">|</span> <a href="javascript:log_out()">Выход</a>';
document.getElementById('name').style.display = 'block';
у функции вызова log_out скобок не было я добавил пока постил сюда. Думаю в этом трабл был. черт=/ я думал посерьезней что-то)

Спустя 2 минуты, 12 секунд (14.08.2012 - 15:01) Игорь_Vasinsky написал(а):
она самая biggrin.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.