Проверка поля и риконект
Подскажите пожалуйста не могу понять
Идет запрос авторизации в 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, время: 21:18. |