Как получить значение переменной get или post при загрузке страницы с использованием JavaScript?Получение значения GET или POST переменной с использованием JavaScript?
ответ
Вы не можете получить значение POST-переменных с помощью Javascript, хотя вы можете вставить его в документ при обработке запроса на сервере.
<script type="text/javascript">
window.some_variable = '<?=$_POST['some_value']?>'; // That's for a string
</script>
GET переменные доступны через window.location.href
, и некоторые структуры даже methods готовы разобрать их.
Вместо того, чтобы прямо писать значение POST, вы можете использовать 'json_encode' –
@ Ken Keenan: вы правы! А также вы можете сделать некоторые проверки перед этим. Я просто пытался показать свою мысль. –
Не делать какой-либо кодировки или проверки означает, что написанный код [уязвим для XSS] (https://www.owasp.org/index.php/XSS). – Quentin
Вы можете получить только аргументы 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("+", " "));
}
}
Когда я был вопрос я сохраненное значение в скрытый ввод:
в HTML теле:
<body>
<?php
if (isset($_POST['Id'])){
$fid= $_POST['Id'];
}
?>
... затем поместить скрытый вход на странице и написать значение $ FID с PHP эхо
<input type=hidden id ="fid" name=fid value="<?php echo $fid ?>">
затем в $ (документ) .ready (функция() {
var postId=document.getElementById("fid").value;
поэтому я получил свой скрытый параметр url в php js.
Это небезопасно. Это позволяет любому вставлять произвольный HTML в ваше приложение (они могут отправлять '' 'и выходить из атрибута) –
С небольшим количеством php очень просто.
HTML часть:
<input type="text" name="some_name">
JavaScript
<script type="text/javascript">
some_variable = "<?php echo $_POST['some_name']?>";
</script>
Это совершенно небезопасно. Если кто-то отправляет что-то, содержащее' '', то они могут следовать за ним с помощью произвольного JavaScript. –
Также обратите внимание, что escape-кода '' 'недостаточно, вам нужно также защищать от''. Рекомендуется использовать 'json_encode' (который теперь ускользает от обратной косой черты) –
// 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
Для этого может понадобиться пояснение. –
/**
* 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
Вот мой отве er для этой заданной строки returnURL, которая равна http://host.com/?param1=abc¶m2=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; } } }
- 1. Печать значения с использованием GET или POST
- 2. Получение значения переменной Javascript в переменной PHP с использованием Ajax
- 3. Wordpress: модуль с использованием значения GET/POST?
- 4. Получение «GET» вместо «POST»
- 5. Получение значения Get Variable
- 6. сбора несколько GET или POST значения
- 7. Javascript/JQuery Post и Get?
- 8. Получение переменной Javascript из инструкции $ .get
- 9. Сохранение значения переменной GET
- 10. Как получить GET или POST через JavaScript?
- 11. Изменение значения переменной с использованием jQuery или Javascript при щелчке
- 12. Получение данных формы без POST или GET в MVC
- 13. Выполнять скрипт с переменными get или post
- 14. Javascript/AJAX на страницу PHP с POST или GET
- 15. Получение значения ввода или переменной JavaScript в ASP.NET MVC Ajax.ActionLink
- 16. получение отложенного значения с использованием javascript Date.now()
- 17. Получение значений ссылки с использованием переменной get в php
- 18. Передача значения переменной на следующую страницу с использованием метода post
- 19. Получение переменной post внутри функции
- 20. Магистраль с использованием GET вместо PUT или POST
- 21. Django Admin: Предварительно заполняет значения из POST или GET?
- 22. Получение «GET or POST» из url
- 23. Javascript HTTP GET и POST
- 24. Получение значения переменной javascript внутри html
- 25. Получение значения ширины экрана в переменной PHP с использованием Ajax
- 26. Получение значения тега select без помощи метода post или get с помощью php
- 27. POST или GET в форме поиска?
- 28. jQuery - получение массива $ _FILES с использованием $ .post
- 29. Обновление переменной javascript с использованием другого значения переменной
- 30. Получение переменных HTTP GET с использованием Tipfy
связанных http://stackoverflow.com/questions/1409013/how-to-read-the-post-req uest-parameters-using-javascript –