Скрипт без AJAX выглядит примерно так:
<?php
if (isset($_POST))
{
// обработка
header ('Location: /');
exit();
}
?>
А в ajax при выполнении header пишет ошибку.
Как мне лучше сделать перенаправление?
Думаю при удачном выполнении скрипта через ajax будет передаваться значение к примеру 100, а потом смотреть в js, если результат равен 100, то делать перенаправление. Или как лучше?
Вот в принципе уже задавали такой вопрос, но нет ответа
http://habrahabr.ru/qa/45038/
Игорь_Vasinsky
4.11.2013 - 22:44
а ошибка какая? ты уверен что она на клиентской стороне? может на серверной?
и зачем редирект делать на стороне сервера? когда можно принять ответ и сделать его на клиенте простым 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
Сам запрос ajax возвращает error
Делаю регистрацию на ajax. при удачной регистрации пользователь записывается в бд и происходит редирект, так вот, когда я делаю через ajax, то запись о новом пользователе добавляется в бд, но ajax возвращает error и редирект не происходит.
Цитата |
можно принять ответ и сделать его на клиенте простым locacation.href |
я так и сделал.
При удачной регистрации аякс вернет 200, и потом проверяю, если результат == 200, то выполняю редирект.
DedMorozzz
4.11.2013 - 23:02
при нужном ответе аякса делай "топ локейшин хреф" на нужный урл
_____________
Если не говорить пользователям, что Linux это "Сложно и страшно", то им совершенно всё равно, в чём не разбираться
Цитата |
при нужном ответе аякса делай "топ локейшин хреф" на нужный урл |
сделал вот как
$.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;
}
});
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.