Войти
UnityФорумСеть

Как получить GET параметр с сайта?

#0
5:58, 23 сен. 2021

Всем здрасте!
Ситуёвина следующая: есть приложение на WebGL, которое открывается через index.php. При открытии формируется GET запрос типа "TaskId=123456".

Вопрос: как мне получить значение этого запроса в приложение? Проблема в том, что даже если через echo вывести это поле, www.text возвращает всю страницу кроме этой переменной, хотя в браузере все отображается!

<?php

#получаем значение GET с нашей страницы
$get = $_GET['taskId'];
?>
<!DOCTYPE html>
<html lang="en-us">
<head>
    тут мой head
</head>
<body>
    <div>
        <?php
# тут выводим значение
            echo $get;
        ?>
    </div>

<div class="webgl-content">
    
  тут приложение
</div>

#1
(Правка: 10:03) 9:51, 23 сен. 2021
<script type="text/javascript">
  window.taskId = '<?php echo htmlspecialchars($_GET['TaskID']); ?>';
</script>

В приложении обращаться к window.taskId

Объект window - глобальный, его можно использовать, как помойку для обмена данными между не знающими друг о друге скриптами (а особливо скриптами, выполняющимися через eval, обычные переменные которых локальны и умирают после возврата).

P.S. Или вообще

<script type="text/javascript">
  window.entire_get = <?php echo json_encode($_GET, JSON_INVALID_UTF8_IGNORE | JSON_PARTIAL_OUTPUT_ON_ERROR); ?>;
</script>
и обращаться к window.entire_get.TaskId - но тогда надо вручную проверять, чтобы жабаскрипт не упал на отсутствующем параметре.
Навроде
  var id = !!window.entire_get.TaskId ? window.entire_get.TaskId : '';
, где !! превращает любой жабаскриптовый фтагн, типа отсутствующих значений, в false (иначе они пожирают всё логическое выражение подобно раковой опухоли, ни да, ни нет, а неведома зверушка - и твой алгоритм идёт вразнос, а ты зарабатываешь ранние седые волосы за отладкой)
UnityФорумСеть