|
|
|
|
|
для: confirm
(07.04.2017 в 21:45)
| | Ок) | |
|
|
|
|
|
|
|
для: xxxZIKxxx
(07.04.2017 в 21:40)
| | Полный кошмар. Уясните раз и навсегда каждый запрос браузера, это открытие соединения. Делать переходы по своим скриптам в ответ на асинхронный запрос, кроме расточительства ничего не дает.
Учите матчасть.
А насчет - у меня работает, так в конце концов прочесть и понять, что именно и как работает. Это не работа, это бардак. | |
|
|
|
|
|
|
|
для: confirm
(07.04.2017 в 21:33)
| | Я ещё раз говорю что я не заступаюсь за логику и реализация кода тут не причём, вопрос был почему не работает ответ потому что header надо было поправить вот и вся полемика. Если бы я хотел узнать как это написать правильно, то так бы и спросил. | |
|
|
|
|
|
|
|
для: xxxZIKxxx
(07.04.2017 в 21:30)
| | Все. Не хотите понимать, что вам говорят, и что логика работы вашего приложения никуда не годится, как хотите, значит разбирайтесь сами. Я же тратить время попусту не хочу. | |
|
|
|
|
|
|
|
для: confirm
(07.04.2017 в 21:22)
| | У меня всё работает как я написал выше, и не какую чушь я не порю... Вот ссылка на статью что мне там кинули https://russianpenguin.ru/2015/02/07/ajax-%D0%B8-%D0%B7%D0%B0%D0%B3%D0%BE%D0%BB%D0%BE%D0%B2%D0%BE%D0%BA-location-%D0%BE%D1%81%D0%BE%D0%B1%D0%B5%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D0%B8/ | |
|
|
|
|
|
|
|
для: xxxZIKxxx
(07.04.2017 в 20:40)
| | Если не обладаете знаниями, то не порите чуши, что вас у работает то о чем вы тут ведаете. Вам не раз уже сказано было - НЕ будет никакого перехода в случае асинхронных запросов! И выполнять их, это просто большая глупость. Но вместо того чтобы разобраться с этим и понять, вы гоните какую-то чушь.
Есть в наличии локальный сервер для отладки? Сохраните этот файл под любым именем.
<?
if($_POST) {
header('location: d.php');
exit;
}
?>
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script>
$(function() {
$.post(location, {a:1}, function(d) {
$('body').append(d)
})
});
</script>
</head>
<body>
</body>
</html>
|
Этот файл сохранить под именем d.php в той же директории, что и первый.
Запустите первый файл. При его запуске будет произведен асинхронный запрос к этому же файлу. Но не смотря на то, что на запрос сервер перенаправит его на файл d.php, браузер НЕ совершит перехода, как вы тут все трактуете, а просто добавит результат работы d.php на страницу. Адресная строка браузера при этом будут отображать адрес первого файла.
Вопрос - зачем делать перенаправления браузера при асинхронных запросах, если они не работают по прямому назначению? Сколько еще можно об этом говорить?
Если в качестве ответа на асинхронный запрос нужно отдать результат работы сценария другого файла, то это делают не перенаправлениями, а подключением его - include.
Непонимание, это плохо, заблуждение еще хуже. Заблуждение в том, что вы делаете все правильно и есть первая предпосылка ошибок, которые у вас есть. А если учесть, что JS у разных браузеров, это отдельная "песня", то ситуация еще больше усугубляется.
Открывайте отладчик браузера и разберитесь в конце концов чего вы творите.
PS. Перенаправлять браузер по асинхронному запросу может быть полезным, например, при запросах с стороннему домену через свой сервер. К примеру по причине связанной с вопросами безопасности. Для своих же скриптов, это пустая затея. | |
|
|
|
|
|
|
|
для: confirm
(07.04.2017 в 20:18)
| | К чему столько эмоций (чушь, лапша), спокойней надо быть... Ясен пень если бы я обладал необходимыми знаниями я не обращался бы за помощью, про iframe не подумал, спасибо!
Самая главная суть вопроса, почему везде работает а на мобилке с виндой не работает. На компе windows тоже проще переустановить чем найти косяк в его работе, так и вы пишите - реализуй код по другому, но это не ответ на вопрос.... Если он работает везде значит можно так реализовывать, а если где-то не работает значит есть нюанс в восприятии, так вот и хотелось бы узнать этот нюанс чтоб при дальнейшей работе быть осведомлённым.
Нашёл ответ: надо было прописывать не header('Location: 'info.php'), а header('Location: 'info.php', true, 200). Ответ в одну строчку получил на другом форуме. Но всё равно спасибо уважаемому "confirm" за уделённое время ;) | |
|
|
|
|
|
|
|
для: xxxZIKxxx
(07.04.2017 в 19:34)
| | Не надо городить чушь. Поместите на страницу iframe, по адресу его запроса перенаправьте запрос на другой адрес. Если при этом родительское окно будет перезагружено, тогда можете еще лапшу мне на уши вешать.
Если пользователь отключит JS, то все будет работать естественным образом. | |
|
|
|
|
|
|
|
для: confirm
(07.04.2017 в 10:58)
| | Да вопрос не в том как это правильно реализовать. Я дал простейший пример исключительно для примера, вопрос в том почему это работает везде, а на мобильной винде не работает, и как сделать чтоб именно такой подход работал. И кстати если чел вручную пропишет путь к файлу скрипта и отключит js то window.location.href = 'info.php' не сработает и он останется на файле скрипта, а header по любому перекинет... | |
|
|
|
|
|
|
|
для: xxxZIKxxx
(06.04.2017 в 23:30)
| | Как об стенку горохом. header('Location: 'info.php') вкупе с $.get('1.php', ... полнейшая глупость. Нежен переход, значит клиент должен window.location.href = 'info.php'.
$('#id_01').html($(a).find('#id_01').html()); - это тоже пустое, читайте о методах jQuery. | |
|
|
|
|