¿Cómo obtener el valor de la variable get o post en la carga de página mediante JavaScript?Obtener valor GET O POST variable con JavaScript?
Respuesta
No puede obtener el valor de las variables POST utilizando Javascript, aunque puede insertarlo en el documento cuando procese la solicitud en el servidor.
<script type="text/javascript">
window.some_variable = '<?=$_POST['some_value']?>'; // That's for a string
</script>
las variables GET están disponibles a través de la window.location.href
, y algunos incluso tienen marcos methods listo para analizarlos.
En lugar de escribir el valor POST directamente, puede usar 'json_encode' –
@Ken Keenan: ¡tiene razón, gracias! Y también puedes hacer una validación antes de eso. Solo estaba tratando de mostrar mi punto. –
No hacer ningún tipo de codificación o validación significa que el código tal como está escrito es [vulnerable a XSS] (https://www.owasp.org/index.php/XSS). – Quentin
Solo puede obtener los argumentos de URI con 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("+", " "));
}
}
cuando tuve el problema que salvó el valor en un campo oculto:
en el cuerpo HTML:
<body>
<?php
if (isset($_POST['Id'])){
$fid= $_POST['Id'];
}
?>
... a continuación, poner el campo oculto de la página y escribir el valor $ FID con php echo
<input type=hidden id ="fid" name=fid value="<?php echo $fid ?>">
entonces en $ (document) ready (function() {
var postId=document.getElementById("fid").value;
así que obtuve mi parámetro url oculto en php an js.
Esto es inseguro. Permite a cualquier persona insertar HTML arbitrario en su aplicación (pueden publicar '" 'y salir del atributo) –
Con poco PHP es muy fácil. parte
HTML:
<input type="text" name="some_name">
JavaScript
<script type="text/javascript">
some_variable = "<?php echo $_POST['some_name']?>";
</script>
Esto es totalmente inseguro. Si alguien publica algo que contenga' "' entonces pueden seguirlo con JavaScript arbitrario. –
También tenga en cuenta que escaparse '" 'no es suficiente, debe protegerse contra' 'también. Se recomienda el uso de' json_encode' (que ahora escapa a la barra invertida) –
// 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
Esto puede necesitar alguna explicación para ser útil. –
/**
* 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
Aquí está mi Answ er para esto se le da una cadena returnURL que es como http://host.com/?param1=abc¶m2=cde. Es bastante básico ya que estoy comenzando con JavaScript (esto es en realidad parte de mi primer programa en JS), y es más fácil de entender que de complicado.
Notas
- Sin cordura verificación de los valores
- Sólo la salida a la consola - que querrá almacenarlos en una matriz o algo
esto es sólo para conseguir, y no la 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. Obtener una variable POST
- 2. is_int y GET o POST
- 3. POST vs publicación, GET vs obtener
- 4. Fijaciones POST/GET en Raqueta
- 5. cómo obtener variables GET y POST con JQuery?
- 6. Cómo HTTP GET o POST con Matlab u Octave?
- 7. Cómo documentar los parámetros Get/Post con Doxygen o PHPDoc
- 8. Https POST/GET con Qml/Qt
- 9. jQuery get post data
- 10. Parámetros JSP, GET y POST
- 11. Unity GET/POST Wrapper
- 12. Rails POST, PUT, GET
- 13. jquery $ .post() vs $ .get()
- 14. Verificar solicitudes AJAX pendientes o solicitud HTTP GET/POST
- 15. GET y POST en cakephp
- 16. ¿Puedo hacer solicitudes POST o GET desde una aplicación iphone?
- 17. JavaScript: Obtener valor de argumento y NOMBRE de variable pasada
- 18. Usar GET o POST para un formulario de búsqueda
- 19. UNIX, get environment variable
- 20. GET vs. POST ¿realmente importa?
- 21. Deberían llamadas a la API sean GET o POST
- 22. Solicitud GET síncrona con Javascript/jQuery
- 23. jQuery ajax() vs get()/post()
- 24. Función/recurso de procesamiento RESTful: GET o POST?
- 25. web.py: cómo obtener el parámetro POST y el parámetro GET?
- 26. Detectar si la acción es un método POST o GET
- 27. liftweb - accediendo a los parámetros get/post
- 28. REST: obtenga un número aleatorio GET o POST?
- 29. Comprobar si una petición es GET o POST
- 30. ¿Los clientes deben obtener tokens de acceso OAuth 2 usando GET o POST?
relacionados http://stackoverflow.com/questions/1409013/how-to-read-the-post-req uest-parameters-using-javascript –