Проверка поля и риконект
Подскажите пожалуйста не могу понять
Идет запрос авторизации в php. PHP возвращает <script type="text/javascript"> $(function f(){ $("#wer").click(function(){ var a = $("#login").val(); var b = $("#password").val(); $.ajax({ type: "POST", url: "http://localhost/webschool/login.php", data: ({a:a,b:b}), dataType: 'json', beforesend: alert("Отправляемые данные a=" +a+ "b="+b), success: function(data){ $.each(data, function(index,a){ for(var i in a ) { $("#Id_p").append(a[i]); }; // закрытие for // alert("Номер : "+ index+"\n\n Язык : "+ a[i]); }); // закрытие $.each(data, function(index,a){ }, // закрытие success: function(data){ }); }); }); </script> PHP Возвращает на "Вы успешно авторизированны" или "Извините, но данные не верны!" Ответ приходит в див <div id="Id_p"></div> вопрос: как сделать так чтобы если ответ правильный происходил риконект на другую страницу я думал сделать так но у меня не работает посмотри пожалуйста что не так <script language="JavaScript"> if ((document.getElementById("Id_p").this)==='Вы успешно авторизированны'){ window.location.href = "index_user.php" } </script> может я вообще не туда двигаюсь |
Цитата:
мб так: document.getElementById("Id_p").innerHTML |
анализируй сам ответ, добавь параметр в ответ, так проще, например
ok%%Вы успешно авторизированны разбивай через .split('%%'), если ок, то location.href='куда_пойдём' я так всегда делаю, меня устраивает |
Цитата:
<script language="JavaScript"> if ((document.getElementById("Id_p").innerHTML)==='Вы успешно авторизированны'){ window.location.href = "index_user.php" } </script> не хочет, мне кажется что вообще может по другому...как-то скажите пожалуйста может в чем преимущество javascrip в случае случае авторизации ведь можно принципе сделать все в php и проверку данных и сразу риконект. и не надо будет ничего ни откуда вытаскивать |
страница не перезагружается, так как бы современней.
Попробуй == вместо === Хотя я настаиваю на вышепредложенном мной варианте ) |
Цитата:
|
Цитата:
<script language="JavaScript"> var qwerty = document.getElementById("Id_p").innerHTML; if (qwerty==='ok'){alert("работает")} </script> Передаю из php просто ок проверял переменную qwerty получила ок но alert("работает") не пашет |
Цитата:
|
Цитата:
|
.....
success: function(data){ //data="ok%%Вы успешно авторизированны" a=data.split('%%'); if(a[0]=='ok'){ alert(a[1]); location.href='/адрес'; }else{ alert("Ошибка авторизации"); } } Обычно я делаю иначе передаю err%%[проблема авторизации] т.к. проблемы бывают разные, особенно при регистрации, а положительный результ чаще всего один ) З.Ы. проверяй переданные/полученные данные, а не содержимое тега. Тем более если пропарсить документ, то встретиться ещё объекс #text, на подобное я в висивинге наталкивался З.Ы.Ы. если всё равно не заработет, ставьте firebug в FF, стрекозу в опере или консоль в хроме открывайте и ищите косяки, т.к. из-за какой-то грубой ошибки у вас весь код не работает ... |
Часовой пояс GMT +3, время: 16:28. |