Search by WMSN

Подскажите по JS редиректу. В общем делается post запрос через ajax и получаем ответ с выводом на страницу через document.getElementById(result_id).innerHTML = response. В ответе надо вставить скрипт обновления текущей страницы. Никакие js редиректы какого-то фига не работают, мета рефреш в фаерфоксе не работает... Хз че делать...

Answers:

Ничего не понял. Зачем вставлять в страницу данные, если требуется редирект? Вставь текст и сделай редирект если так нужно. document.getElementById(result_id).innerHTML = response; document.write(document.location.href);

После 3-го прочтения прихожу к мысли, что что-то не так с архитектурой JS приложения, как там - мы пойдем через j....

doorwaymoney, в response юзеру сообщается что все прошло успешно и обновляется страница.

Mik Foxi, не скромный вопрос, jquery используете?

var arr = $(«#данные»).serialize(); $.ajax( type: «POST», url: «other_parts/update.php», data: arr, success: function(html) if (html == 'forbidden') Forbidden_Redir(); return -1; document.getElementById(result_id).innerHTML = html; тут редирект... // alert('ok');

doorwaymoney, вариант встроить редирект в сам скрипт аякса не подходит. Надо чтоб редирект (перезагрузка страницы) вызывалась из скрипта который получен в ответ на запрос. jquery использую, куда же без него.

Mik Foxi, и что, если во вставляемом тексте добавить: script type=text/javascript alert(1); /script 1-ку не покажет? )))

doorwaymoney, не показывает.

doorwaymoney, нифига :( единственное что работает - это мета рефреш в хроме. Остальное ноль реакции.

doorwaymoney, по «redirect from ajax response» ничего рабочего не гуглится.

еще есть document.write() и var s = document.createElement('script'); s.type = 'text/javascript'; s.async = true; .... и т.д. у тебя явно ошибка в коде, смотри дебаг, проверь что в DOM

webmasterк, ага... то же так думаю... alert обязан работать)

webmasterк, document.getElementById(result_id).innerHTML = response; это по сути перезапись полученным контентом тега с указанным id. Перезаписать оно перезаписывает, но появившийся скрипт он почему-то не активен, хотя html при этом норм рендерится.

короче, код в студию

Mik Foxi, Ну так а вызов EVAL по ID что то же не пашет?

webmasterк, скрипт который делает запрос: pastebin.com в ответ получает html код (ну и js который не исполняется).

Mik Foxi, ... success: function(response) console.log(response); ... Покажи что выдает консоль и дай кусок html c result_id

webmasterк, надо копать в сторону innerHTML, он не умеет js похоже выполнять.

Mik Foxi, Не, у тебя ошибка, все работает, вот с текушего проекта pastebin.com , модалка пустая и в нее аякс втавляет контент + инициализация елементов фрейворка через js

Все, я сдался, оставлю без редиректов, сделаю ссылку, придется юзерами самим жать чтоб продолжить...

Mik Foxi, столько что вставил свойм аяксом: window.location.href = «/?search=1»; - редирект работает!

webmasterк, :trollface: