Подтвердить что ты не робот

Получение значения GET или POST-переменной с использованием JavaScript?

Как получить значение переменной get или post при загрузке страницы с помощью JavaScript?

4b9b3361

Ответ 1

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

<script type="text/javascript">
    window.some_variable = '<?=$_POST['some_value']?>'; // That for a string
</script>

Переменные GET доступны через window.location.href, а некоторые фреймворки даже методы готовы их проанализировать.

Ответ 2

Вы можете получить только аргументы URI с помощью JavaScript.

// get query arguments
var $_GET = {},
    args = location.search.substr(1).split(/&/);
for (var i=0; i<args.length; ++i) {
    var tmp = args[i].split(/=/);
    if (tmp[0] != "") {
        $_GET[decodeURIComponent(tmp[0])] = decodeURIComponent(tmp.slice(1).join("").replace("+", " "));
    }
}

Ответ 3

С небольшим количеством php очень просто.

Часть HTML:

<input type="text" name="some_name">

JavaScript

<script type="text/javascript">
    some_variable = "<?php echo $_POST['some_name']?>";
</script>

Ответ 4

// Captura datos usando metodo GET en la url colocar index.html?hola=chao
const $_GET = {};
const args = location.search.substr(1).split(/&/);
for (let i=0; i<args.length; ++i) {
    const tmp = args[i].split(/=/);
    if (tmp[0] != "") {
        $_GET[decodeURIComponent(tmp[0])] = decodeURIComponent(tmp.slice(1).join("").replace("+", " "));
        console.log(`>>${$_GET['hola']}`);
    }//::END if
}//::END for

Ответ 5

/**
* getGET: [Funcion que captura las variables pasados por GET]
* @Implementacion [pagina.html?id=10&pos=3]
* @param  {[const ]} loc           [capturamos la url]
* @return {[array]} get [Devuelve un array de clave=>valor]
*/
const getGET = () => {
    const loc = document.location.href;

            // si existe el interrogante
            if(loc.indexOf('?')>0){
            // cogemos la parte de la url que hay despues del interrogante
            const getString = loc.split('?')[1];
            // obtenemos un array con cada clave=valor
            const GET = getString.split('&');
            const get = {};

            // recorremos todo el array de valores
            for(let i = 0, l = GET.length; i < l; i++){
                const tmp = GET[i].split('=');
                get[tmp[0]] = unescape(decodeURI(tmp[1]));
            }//::END for
            return get;
        }//::END if 
}//::END getGET

/**
* [DOMContentLoaded]
* @param  {[const]} valores  [Cogemos los valores pasados por get]
* @return {[document.write]}       
*/
document.addEventListener('DOMContentLoaded', () => {
    const valores=getGET();

    if(valores){
            // hacemos un bucle para pasar por cada indice del array de valores
            for(const index in valores){
                document.write(`<br>clave: ${index} - valor: ${valores[index]}`);
            }//::END for
        }else{
            // no se ha recibido ningun parametro por GET
            document.write("<br>No se ha recibido ningún parámetro");
        }//::END if
});//::END DOMContentLoaded

Ответ 6

Когда у меня возникла проблема, я сохранил значение в скрытый ввод:

в html body:

    <body>
    <?php 
    if (isset($_POST['Id'])){
      $fid= $_POST['Id']; 
    }
    ?>

... затем поместите скрытый ввод на страницу и напишите значение $fid с php echo

    <input type=hidden id ="fid" name=fid value="<?php echo $fid ?>">

затем в $(document).ready(function() {

    var postId=document.getElementById("fid").value;

поэтому я получил свой скрытый параметр url в php js.

Ответ 7

Вот мой ответ для этого, учитывая строку returnURL, которая похожа на http://host.com/?param1=abc&param2=cde. Это довольно просто, поскольку я начинаю с JavaScript (это на самом деле часть моей первой программы в JS) и упрощает понимание, а не сложно.

Примечания

  • Отсутствие проверки достоверности значений
  • Просто выводя на консоль - вы хотите сохранить их в массиве или чем-то.
  • это только для GET, а не POST

    var paramindex = returnURL.indexOf('?');
    if (paramindex > 0) {
        var paramstring = returnURL.split('?')[1];
        while (paramindex > 0) {
            paramindex = paramstring.indexOf('=');
            if (paramindex > 0) {
                var parkey = paramstring.substr(0,paramindex);
                console.log(parkey)
                paramstring = paramstring.substr(paramindex+1) // +1 to strip out the =
            }
            paramindex = paramstring.indexOf('&');
            if (paramindex > 0) {
                var parvalue = paramstring.substr(0,paramindex);
                console.log(parvalue)
                paramstring = paramstring.substr(paramindex+1) // +1 to strip out the &
            } else { // we're at the end of the URL
                var parvalue = paramstring
                console.log(parvalue)
                break;
            }
        }
    }