Tengo problemas para pasar el session_id a mi función http.get, ¿alguna idea de lo que estoy haciendo mal?

Aquí está mi controlador:

.controller('feedCtrl', function($scope,$rootScope,$ionicHistory,$state,$http) {

    $scope.session_id= sessionStorage.getItem('session_id');
    if($scope.session_id == null){
        $state.go('login');
    }
    else {
        $http.get('https://m.socialnetwk.com/home/app/feed_load.php?id='+ $scope.session_id +).then(function(rest) {
            $scope.records = rest.data;
        });
    }
    
})
0
Casper Round 13 ene. 2017 a las 17:38

3 respuestas

La mejor respuesta

Errores que veo en el código:

Debe hacer para inyectar el servicio sessionStorage. Eliminar + al final de la URL.

Ejemplo de verificación: Enlace

0
ozgur 13 ene. 2017 a las 14:50

He probado su solicitud http en Postman y está funcionando bien.

https://m.socialnetwk.com/home/app/feed_load.php?id=4235

Y devoluciones:

[
{
"firstname": "4235",
"lastname": "Round",
"profile_image": "jpg/55529055162cf0.jpg",
"lastname": "Round",
"iframe": "",
"media_format": "img",
"media_file_format": "jpg",
"media_post_id": "5851875bda5b3",
"media_author_id": "3",
"mediatxt": ""
},
{
"firstname": "4235",
"lastname": "Round",
"profile_image": "jpg/55529055162cf0.jpg",
"lastname": "Round",
"iframe": "",
"media_format": "img",
"media_file_format": "jpg",
"media_post_id": "583c459a745a4",
"media_author_id": "3",
"mediatxt": ""
},
{
"firstname": "4235",
"lastname": "Round",
"profile_image": "jpg/55529055162cf0.jpg",
"lastname": "Round",
"iframe": "",
"media_format": "img",
"media_file_format": "jpg",
"media_post_id": "583c4597778c1",
"media_author_id": "3",
"mediatxt": ""
},
{
}
]

Entonces tu error es:

$ scope.session_id = sessionStorage.getItem ('session_id');

Si imprime $ scope.session , quedará indefinido. Entonces su solicitud http devuelve una matriz vacía.

Vamos a arreglarlo

Inyectar sessionStorage. Supongamos que está utilizando ngStore, por lo que debe inyectar $ sessionStorage .

Ejemplo:

.controller('feedCtrl', function($scope,$rootScope,$ionicHistory,$state,$http, $sessionStorage )

Cambia tu código:

$ scope.session_id = sessionStorage.getItem ('session_id');

$ http.get ('https://m.socialnetwk.com/home /app/feed_load.php?id= '+ $ scope.session_id +). luego (function (rest) { $ scope.records = rest.data; });

Para:

$ scope.session_id = $ sessionStorage.getItem ('session_id');

Y elimine + al final de la URL.

$ http.get ('https://m.socialnetwk.com/home /app/feed_load.php?id= '+ $ scope.session_id) .then (function (rest) { $ scope.records = rest.data; });

Como te dice Jackk.

Lo siento por mi ingles.

0
DavElsanto 13 ene. 2017 a las 15:41

No sabría exactamente cuál es el problema a menos que explique cómo 'https://m.socialnetwk.com/ El punto final de home / app / funciona y qué error produce, pero sospecho que, como usted dice que necesita PASAR el session_id y no OBTENERLO, debe usar $ http.post en lugar de $ http.get

0
Leandro 13 ene. 2017 a las 14:50