Никак не могу сделать редирект, как быть? Код (Text): $.ajax({ type: "POST", url: "authorization.php?aut=0&username="+username+"&password="+password, dataType: 'json', // async:false, success: function(data){ window.location = 'index.php'; } }); Если async:true то работает window.location. Но код блин я не успеваю зайти в success, если async:false я захожу в success но не работает перенаправление. Как решить? скрипт пхп данные джесон нормальные возвращает, перепроверил там все.
может вместо success используй complate саксес срабатывает когда сервер отдал код 200 а комплете когда сервер отдал данные
Такое же поведение, то сработает если с алерт сделать вот так, но мне так не надо Код (Text): var ss = $.ajax({ type: "GET", url: "authorization.php?aut=0&username="+username+"&password="+password, dataType: 'json', // async:false, complete: function(data){ window.location = 'index.php'; } }); alert(ss); А произойдет это так, потому что цитата "код, который должен выводить строки выполняется ДО того, как с сервера придёт ответ. А использование алерта останавливает код до нажатия "ОК", и за это время всё уже приходит." И как быть то???как заставить его сделать редирект этот
Я так понимаю в аяксе с async:false редирект сделать вообще нельзя. Только с async:true. А как тогда в условие то зайти complete или success. Ваше условие должно быть либо в omplete либо success, но я с async:true зайти не могу. Вот вся беда то в чем. Уже весь поисковик переррыл, не одного решения не нашел рабочего. Как будто нерешаемая проблема какая то
Что значит не успеваешь зайти в success? Как происходит редирект, если он в success? Что вообще нужно? async вообще не трогай.
я хочу заполнить два поля Логин, пароль. Нажать войти. Далее выполнить код ниже Код (Text): $.ajax({ type: "POST", url: "authorization.php?aut=0&username="+username+"&password="+password, dataType: 'json', // async:false, success: function(data){ window.location = 'index.php'; } }); в случае успеха должен произойти редирект. Мне нужно сделать редирект на страницу index.php .Все. Как сделать? --- Добавлено --- Хотя бы пофиг успех не успех, просто сделать редирект, блин не один вариант не работает из сети. authorization.php этот скрипт лежит в той же папке где скрипт с кодом выше
Есть подозрение, что этот код ты вызываешь на submit, но не возвращаешь false, чтобы форма сама не засабмитилась
Чтобы не гадать, вот весь код Код (Text): $(document).ready(function(){ $("#submit").click(function(){ var text = document.getElementById('submit').value; var username = $("#username").val(); var password = $("#password").val(); var email = $("#email").val(); switch (text){ case 'Войти': $.ajax({ type: "POST", url: "authorization.php?aut=0&username="+username+"&password="+password, dataType: 'json', success: function(data){ window.location = 'index.php'; } }); break; case 'Регистрация': $.ajax({ type: "POST", url: "authorization.php?aut=1&username="+username+"&password="+password+"&email="+email, dataType: 'json', success: function(data){ window.location = 'index.php'; } }); break; default: break; } }); }); --- Добавлено --- Срабатывает на эту вещь Код (Text): <form class="login" > <h1>Авторизация</h1> <fieldset id="inputs"> <input id="username" type="text" placeholder="Логин"> <input id="password" type="password" placeholder="Пароль"> <input id="email" type="hidden" placeholder="Email"> </fieldset> <fieldset id="actions"> <input type="submit" id="submit" value="Войти"> <a href="#" id="recovery">Забыли пароль?</a> <a href="#" id="reg">Регистрация</a> </fieldset> </form>
Да, в этом причина. Нужно поменять: Код (Javascript): $("#submit").click(function(){ // на $("#submit").submit(function(){ // твой код return false; // !!!важно });
не идет редирект и все. --- Добавлено --- Так, все пошел зараза такая. Только добавил return false; в конец $("#submit").click(function(){ и оставил click, событие же click --- Добавлено --- А может вы мне расскажите еще как разобрать объект? У меня в алерте если показауть дата, показывает [object Object] Хотя пхп скрипт возвращает echo json_encode(array(array('login' => $login))); В таком виде [{"login":"qwerty"}] короче приходит Может можно как то разобрать что пришло?
надо каждый раз пи3дить любого, кто не соблюдает абсолютные пути --- Добавлено --- а потом спрашивают а почему у меня урл такой? form.php?id=666index.php
на click оставлять опастно, т.к. при нажатии enter в любом input у тебя будет отправляться форма по дефолту, а не твой редирект
Дак а при сабмит почему то ничего не происходит, кнопочку нажал и ничего Спасибо за ваш очень значимый пост! прям ждал его как маны небесной. А если по делу, то я ливану на хост и все пути будут нормально работать, а вы предлагаете потом править чтоли все? как то неразумно.
Уйди просто с темы, я не для флуда создавал ее --- Добавлено --- все норм, надо просто на форму саму было делать, теперь как ты писал в начале все стоит и работает. Спасибо вам.