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

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  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 3,582 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 am »

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 pm por #!drvy » En línea

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

Mensajes: 15.514



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

edito

estás pasando por method GET y leyendo POST


« Última modificación: 16 Agosto 2017, 00:33 am 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 am »

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 am por engel lex » En línea

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

Mensajes: 15.514



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

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 am »

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 am por Razzari » En línea

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

Mensajes: 15.514



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

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 am 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 am »

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
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



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

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.397

JS/Node developer


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 pm »

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

No hay atajo ante la duda, el misterio se hace aquí...
Se hace carne en cada uno, el misterio es existir!
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 am »

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:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Peticion HTTP por proxy
Hacking
TomaSs 2 4,672 Último mensaje 23 Junio 2011, 07:36 am
por TomaSs
Petición HTTP en C++ mediante sockets?
Programación C/C++
Puntoinfinito 5 5,191 Último mensaje 19 Marzo 2013, 16:45 pm
por 0xDani
Mi clase HTTP + winsock peticion HTTP ejemplo
Programación C/C++
patilanz 3 2,637 Último mensaje 28 Diciembre 2014, 00:30 am
por ivancea96
[Resuelto] [Newbie] No puedo acceder a objeto JSON enviado por AJAX
PHP
iGust4v0x 8 4,356 Último mensaje 14 Enero 2015, 21:46 pm
por iGust4v0x
[Resuelto] ¿Las peticiones JS se ejecutan si se manda un http en petición?
Desarrollo Web
scott_ 7 3,087 Último mensaje 6 Marzo 2015, 01:53 am
por scott_
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines