Редирект на ajax

12
L
На сайте с 17.05.2013
Offline
88
916

Есть кнопка кликая по которой с пом. ajax проводятся некоторые вычисления и возвращаются данные в форму.

Как вернуть результат в форму - редирект на опредиленный сайт, тоесть как выполнить document.location.href='http://site.com';

C
На сайте с 04.02.2005
Offline
291
#1

Попробуй еще раз сформулировать мысль

L
На сайте с 17.05.2013
Offline
88
#2

Делаю авторизацию на PHP, Xajax.

В модальном окне на Jquery загружается форма авторизации. На кнопке вход висит:

onclick="xajax_login(enter_form.email.value, enter_form.pass.value);"

Сама функция логина:


$xajax = new xajax();
$xajax->registerFunction("login");
$xajax->processRequests();

function login($email, $pass)
{
header("Location: http://site.com");

//$objResponse = new xajaxResponse();
//$objResponse->setCharEncoding('windows-1251');
//$objResponse->addAssign("redirekt", "innerHTML", $redirekt);
//return $objResponse;
}
$smarty->assign("xjavascript", $xajax->getJavascript("http://site.com"));

В принципе функция должна возвращать ответ и этот редирект не работает. Как сделать чтобы работал?

R
На сайте с 18.12.2009
Offline
92
#3

У Вас header("Location: http://site.com"); прописан в файле, к которому идет AJAX запрос?! Я правильно понимаю?

L
На сайте с 17.05.2013
Offline
88
#4

да, хотя понимаю что это бред. Это я ради примера написал..

R
На сайте с 18.12.2009
Offline
92
#5

Делая AJAX запрос, принимайте данные , например, в JSON формате. В зависимости от полученного результата, производите редирект уже средствами javascript.

Посылая AJAX запрос - клиент ждет ответ. Что вернет скрипт, когда в файле редирект?!

L
На сайте с 17.05.2013
Offline
88
#6

тоесть сделать что-то типа такого:

<div id="redirekt" style="display:none"></div>

В функции:


$redirekt="<script language=\"JavaScript\" type=\"text/javascript\">document.location=\"http://site.com\";</script>";
$objResponse->addScript("document.getElementById('redirekt').style.display='block'");


---------- Добавлено 07.12.2013 в 21:04 ----------

Хотя так смотрю тоже не работает..

Как послать ответ, чтобы в нем был редирект.. ?????

R
На сайте с 18.12.2009
Offline
92
#7

Я не об этом. Вы должны на странице обрабатывать приходящий от php результат, а не слать код редиректа в ответе.

L
На сайте с 17.05.2013
Offline
88
#8

А как его обработать? Вы можете на примере показать? Это по-идее с пом. QJuery надо делать, правильно?

B1
На сайте с 13.12.2012
Offline
28
#9

$objResponse->addScript("document.location=\"http://site.com\";");

с xajax не сталкивался, по логике должно сработать.

L
На сайте с 17.05.2013
Offline
88
#10

Так не работает. Необходимо обрабатывать приходящий ответ от пхп как написал rerighter.

Подскажите кто знает как это сделать?

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий