elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: [AIO elhacker.NET 2015] Compilación herramientas análisis y desinfección malware


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  [Resuelto] No puedo acceder a parametro de mi peticion $http en mi backend PHP
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Resuelto] No puedo acceder a parametro de mi peticion $http en mi backend PHP  (Leído 629 veces)
Razzari

Desconectado Desconectado

Mensajes: 76


El que espera desespera


Ver Perfil
[Resuelto] No puedo acceder a parametro de mi peticion $http en mi backend PHP
« en: 16 Agosto 2017, 00:29 »

Hola foro, basicamente el titulo describe mi problema, aca va el codigo:



ese es mi javascript, esoty utilizando angularJs como framework en el frontend, como ven en la consola, logueo lo que me devuelve y dice :
"<b>Notice</b>:  Undefined index: name in <b>C:\xampp\htdocs\api.rest.security\animalesAPI.php</b> on line <b>26</b><br />"

y este es mi codigo php:




Saludos, la verdad estoy desorientado


« Última modificación: 26 Agosto 2017, 14:18 por #!drvy » En línea

"Los ordenadores son inutiles, solo pueden darte respuestas" Pablo Picasso
engel lex
CoAdmin
***
Desconectado Desconectado

Mensajes: 12.545



Ver Perfil
Re: No puedo acceder a parametro de mi peticion $http en mi backend PHP
« Respuesta #1 en: 16 Agosto 2017, 00:31 »

edito

estás pasando por method GET y leyendo POST


« Última modificación: 16 Agosto 2017, 00:33 por engel lex » En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Razzari

Desconectado Desconectado

Mensajes: 76


El que espera desespera


Ver Perfil
Re: No puedo acceder a parametro de mi peticion $http en mi backend PHP
« Respuesta #2 en: 16 Agosto 2017, 00:38 »

ya cambie las miniaturas, si me di cuenta cuando subi las fotos que estaba usando GET corri a cambiarlo, pero sigue logueandome el mismo error  :o


https://fotos.subefotos.com/27f4ae512dd397e45f92b0d60a0e7cf3o.png

Voy a seguir revisando, pero siempre accedí a mis peticiones por post en php con $_POST[''],.esta vez no se que sucede


· Las imagenes no deben ser mayores a 800x600
>aquí las reglas del foro
-Engel Lex
« Última modificación: 16 Agosto 2017, 00:42 por engel lex » En línea

"Los ordenadores son inutiles, solo pueden darte respuestas" Pablo Picasso
engel lex
CoAdmin
***
Desconectado Desconectado

Mensajes: 12.545



Ver Perfil
Re: No puedo acceder a parametro de mi peticion $http en mi backend PHP
« Respuesta #3 en: 16 Agosto 2017, 00:43 »

esto sigue siendo GET!


tienes que enviar como POST
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Razzari

Desconectado Desconectado

Mensajes: 76


El que espera desespera


Ver Perfil
Re: No puedo acceder a parametro de mi peticion $http en mi backend PHP
« Respuesta #4 en: 16 Agosto 2017, 00:47 »

Pero bueno, era para ver si estaba obviando algo y otros ojos veian lo que yo no:

Consola:

https://fotos.subefotos.com/b3b594cbf82f373fbffc6432ee5f3bd3o.png

javascript:

https://fotos.subefotos.com/8c089838229b372cecb52a9fb8202df0o.png

PHP:

Código:
$name = $_POST['name'];
 echo $name;


Voy a seguir viendo y revisando  :-\
« Última modificación: 16 Agosto 2017, 00:49 por Razzari » En línea

"Los ordenadores son inutiles, solo pueden darte respuestas" Pablo Picasso
engel lex
CoAdmin
***
Desconectado Desconectado

Mensajes: 12.545



Ver Perfil
Re: No puedo acceder a parametro de mi peticion $http en mi backend PHP
« Respuesta #5 en: 16 Agosto 2017, 00:53 »

te soy sincero, poco trabajé con angular... no me gustó... siento que todo lo que hace, más facil lo puedo hacer yo mismo y mano... pero cada quien trabaja como más le place en la cama... XD

pero leo la documentación

https://docs.angularjs.org/api/ng/service/$http

sobre los argumentos de la función
Citar
params – {Object.<string|Object>} – Map of strings or objects which will be serialized with the paramSerializer and appended as GET parameters.

creo que deberías cambiar params por data
« Última modificación: 16 Agosto 2017, 00:55 por engel lex » En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Razzari

Desconectado Desconectado

Mensajes: 76


El que espera desespera


Ver Perfil
Re: No puedo acceder a parametro de mi peticion $http en mi backend PHP
« Respuesta #6 en: 16 Agosto 2017, 01:04 »

Código:
$http({
                method: 'POST',
                url: 'http://localhost:8080/api.rest.security/',
                data:{
                    'name' : "ejem",
                }
            }).then(function successCallback(response) {
                //token=response.data;
                console.log(response.data);
                //getData();
            }, function errorCallback(response) {

            });
        }


Estoy usando data: ahora y tampoco, voy a seguir sudando con semejante tonteria y  cunado lo resuelva subo el error y/o   solucion
En línea

"Los ordenadores son inutiles, solo pueden darte respuestas" Pablo Picasso
engel lex
CoAdmin
***
Desconectado Desconectado

Mensajes: 12.545



Ver Perfil
Re: No puedo acceder a parametro de mi peticion $http en mi backend PHP
« Respuesta #7 en: 16 Agosto 2017, 01:11 »

puedes usar $http.post por lo que veo eso puede funcionar, mira allí mismo la doc
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
[u]nsigned


Desconectado Desconectado

Mensajes: 2.241


Ver Perfil WWW
Re: No puedo acceder a parametro de mi peticion $http en mi backend PHP
« Respuesta #8 en: 25 Agosto 2017, 17:13 »

Hola, el modulo $http de angular hace peticiones de tipo application/json, y PHP solo rellena la variable global $_POST cuando la peticion llega en formato application/x-www-form-urlencoded o multipart/form-data.

La solucion mas facil es indicarle a PHP que en lugar de leer desde $_POST tome los valores directamente en formato raw desde el stream php://input

Código
  1. <?php
  2. //Leemos el stream raw y lo guardamos en la variable $postdata
  3. $postdata = file_get_contents("php://input");
  4. //Como dicha variable esta en formato json debemos mapearla a un Array usando json_decode
  5. $request = json_decode($postdata);
  6. //Imprimo el array completo
  7. echo print_r($request, false);
  8. ?>
  9.  
  10.  

Espero que te sirva de ayuda. yo me canse de renegar con esto cuando usaba Angular 1.6 + CodeIgniter 3
En línea

Razzari

Desconectado Desconectado

Mensajes: 76


El que espera desespera


Ver Perfil
Re: No puedo acceder a parametro de mi peticion $http en mi backend PHP
« Respuesta #9 en: 26 Agosto 2017, 00:59 »

Hola, el modulo $http de angular hace peticiones de tipo application/json, y PHP solo rellena la variable global $_POST cuando la peticion llega en formato application/x-www-form-urlencoded o multipart/form-data.

La solucion mas facil es indicarle a PHP que en lugar de leer desde $_POST tome los valores directamente en formato raw desde el stream php://input

Código
  1. <?php
  2. //Leemos el stream raw y lo guardamos en la variable $postdata
  3. $postdata = file_get_contents("php://input");
  4. //Como dicha variable esta en formato json debemos mapearla a un Array usando json_decode
  5. $request = json_decode($postdata);
  6. //Imprimo el array completo
  7. echo print_r($request, false);
  8. ?>
  9.  
  10.  

Espero que te sirva de ayuda. yo me canse de renegar con esto cuando usaba Angular 1.6 + CodeIgniter 3


Funciono a la perfección, estuve leyendo un poco de documentación de esta tema y es la manera correcta de hacerlo !!!
Espero que le sea de ayuda a alguien mas

Gracias y saludos !!!!!!    ;D ;D ;D ;D ;D ;D ;D
En línea

"Los ordenadores son inutiles, solo pueden darte respuestas" Pablo Picasso
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines