[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: как сделать перенаправлнение в ajax
123456
Скрипт без AJAX выглядит примерно так:

<?php
if (isset($_POST))
{
// обработка

header ('Location: /');
exit();
}
?>

А в ajax при выполнении header пишет ошибку.


Как мне лучше сделать перенаправление?

Думаю при удачном выполнении скрипта через ajax будет передаваться значение к примеру 100, а потом смотреть в js, если результат равен 100, то делать перенаправление. Или как лучше?
123456
Вот в принципе уже задавали такой вопрос, но нет ответа
http://habrahabr.ru/qa/45038/
Игорь_Vasinsky
а ошибка какая? ты уверен что она на клиентской стороне? может на серверной?

и зачем редирект делать на стороне сервера? когда можно принять ответ и сделать его на клиенте простым locacation.href

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
123456
Цитата
а ошибка какая?

Сам запрос ajax возвращает error

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

Цитата
можно принять ответ и сделать его на клиенте простым locacation.href

я так и сделал.

При удачной регистрации аякс вернет 200, и потом проверяю, если результат == 200, то выполняю редирект.
DedMorozzz
при нужном ответе аякса делай "топ локейшин хреф" на нужный урл

_____________
Если не говорить пользователям, что Linux это "Сложно и страшно", то им совершенно всё равно, в чём не разбираться
123456
Цитата
при нужном ответе аякса делай "топ локейшин хреф" на нужный урл

сделал вот как
$.ajax({
url: '/?p=reg.ajax',
type: 'POST',
data: {"email" : email, "login" : login, "passw" : passw, "captcha" : captcha},
beforeSend: function() {
inProgressReg = true;
},

error: function() {
inProgressReg = false;
document.getElementById('errorReg').innerHTML = '<font color="red">Ошибка подключения к серверу</font><br><br>';
},

success: function(data){

if (data == 100)
document.location.href = '/';

if (data == 200)
document.location.href = '/act.html';

document.getElementById('errorReg').innerHTML = data;
inProgressReg = false;
}
}
);
Быстрый ответ:

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