lametro / programacion-4-2015

Programación 4
MIT License
1 stars 4 forks source link

problema con /me #48

Closed fedemiguez closed 9 years ago

fedemiguez commented 9 years ago

Hola profe, probando esto que nos mando tenemos un problema. cuando queremos usar el get /me desde la app no nos funciona, desde postman si funciona. Paso el codigo

este es el controller del login

.controller('InicioCtrl', function($scope, $timeout, $stateParams, ionicMaterialInk, $ionicPopup, $location, $http) {
  $scope.user={};
  $scope.user.email='';
  $scope.user.password ='';

    $timeout(function() {
        $scope.$parent.hideHeader();
    }, 0);
    ionicMaterialInk.displayEffect();

   $scope.doLogin = function() {
      $http.post('http://sejuega.herokuapp.com/login',$scope.user ).then(function(resp) {
        console.log(resp.data);

    }, function(err) {
      console.error('ERR', err);

       var alertPopup = $ionicPopup.alert({
             title: "No se Pudo Loguear",
           });
      // err.status will contain the status code
    });
    };

})

este es el controller del perfil


.controller('PerfilCtrl', function($rootScope, $scope, $stateParams, $timeout, ionicMaterialInk, ionicMaterialMotion, $http) {
    $scope.$parent.showHeader();
    $scope.$parent.clearFabs();
    $scope.isExpanded = true;
    $scope.$parent.setExpanded(true);
    $scope.$parent.setHeaderFab(false);
    $scope.user = $rootScope.user;

    // Activate ink for controller
    ionicMaterialInk.displayEffect();

    ionicMaterialMotion.pushDown({
        selector: '.push-down'
    });
    ionicMaterialMotion.fadeSlideInRight({
        selector: '.animate-fade-slide-in .item'
    });

$http.get('http://sejuega.herokuapp.com/me').success(function(data) {
    $scope.user = resp.data.data;

    }, function(err) {
      console.error('ERR', err);
      $location.path('/app/login');

    });

        $scope.doLogout = function(){
    $http.get('http://sejuega.herokuapp.com/logout').then(function(resp) {
    $scope.user = resp.data.data;
    }, function(err) {
      console.error('ERR', err);
      // err.status will contain the status code
    });

        }

          $scope.doSave = function() {

      $http.put('http://sejuega.herokuapp.com/usuario/1',$scope.usuario ).then(function(resp) {
        console.log(resp.data);
    }, function(err) {
      console.error('ERR', err);
      // err.status will contain the status code
    });
    };

})

;

codigo de la api

$app->get('/me', function () use ($app) {
    if(empty($_SESSION["user"])){
        $app->render(500,array(
            'error' => TRUE,
            'msg'   => 'Not logged',
        ));
    }
    $user = User::find($_SESSION["user"]);
    if(empty($user)){
        $app->render(500,array(
            'error' => TRUE,
            'msg'   => 'Not logged',
        ));
    }
    $app->render(200,array('data' => $user->toArray()));
});
FrancoMeriles commented 9 years ago

320102_400x320

catrielmuller commented 9 years ago

Chicos, por favor actualicen su Git así puedo bajar el código desde ahi? Estaria bueno que especifiquen que error están teniendo así puedo saber donde enfocarme para ayudarlos.

$http.get('http://sejuega.herokuapp.com/me').success(function(data) {
    $scope.user = resp.data.data;

    }, function(err) {
      console.error('ERR', err);
      $location.path('/app/login');
});

En esta parte estan tomando como argumento la variable "data" pero después hacen referencia a "resp.data.data" .... Modifiquen alguna de las dos.

fedemiguez commented 9 years ago

si disculpa se me olvido subir el error aca va. error

rodriherreria commented 9 years ago

Nosotros estamos con el mismo error, al principio cuando ponemos el código funciona pero apenas se actualiza no funciona mas. La api nuestra en git esta actualizada https://github.com/rodriherreria/api-geoalquiler

Este es el controllers.

Usuarios


.controller('UsuarioslistsCtrl', function($scope, $http, $location) {

    $scope.user = [];
    $http.get('http://api-geoalquiler.herokuapp.com/index.php/me').then(function(resp) {
      $scope.user = resp.data.data;
      console.log('Succes', resp.data.data);
      $location.path('/app/usuarios');
    }, function(err) {
      console.error('ERR', err);
      $location.path('/app/entrar');
      // err.status will contain the status code
    });

Login

.controller('EntrarCtrl', function($scope, $stateParams, $http, $ionicPopup, $location ) {

        $scope.user={};
        $scope.user.email='';
        $scope.user.password =''; 

   $scope.doLogin = function() {
      $http.post('http://api-geoalquiler.herokuapp.com/login',$scope.user ).then(function(resp) {
        console.log(resp.data);
         var alertPopup = $ionicPopup.alert({
             title: 'Logeado con exito',
             template: 'Ingresa ahora'
           });
           alertPopup.then(function(res) {
             $location.path('/app/usuarios');
           });

    }, function(err) {
      console.error('ERR', err);
      var alertPopup = $ionicPopup.alert({
             title: 'Error en el ingreso',
             template: 'Email o contraseña invalido'
           });
           alertPopup.then(function(res) {
             $location.path('/app/entrar');
           });
      // err.status will contain the status code
    });
    };

})
rodriherreria commented 9 years ago

image

catrielmuller commented 9 years ago

Alguno podria ser tan amable de mantener actualizado el ambos repositorios (APP+API)

rodriherreria commented 9 years ago

ahora actualizo la app

rodriherreria commented 9 years ago

Listo están los 2 actualizados

https://github.com/rodriherreria/admin-geoalquiler

catrielmuller commented 9 years ago

@rodriherreria Podes brindarme un usuario y contraseña valido

rodriherreria commented 9 years ago

us: nacho@gmail.com pass: 123

catrielmuller commented 9 years ago

Para resolver el problema de los paneles de Administracion cambien es tu htaccess de la api

Header always set Access-Control-Allow-Origin "*" por Header always set Access-Control-Allow-Origin "midominiodelpanel.com"

y el las llamadas agregen el siguiente parametro

    $scope.user = [];
    $http.get('http://api-geoalquiler.herokuapp.com/index.php/me', {withCredentials: true}).then(function(resp) {
      $scope.user = resp.data.data;
      console.log('Succes', resp.data.data);
      $location.path('/app/usuarios');
    }, function(err) {
      console.error('ERR', err);
      $location.path('/app/entrar');
      // err.status will contain the status code
    });

$http.post('http://api-geoalquiler.herokuapp.com/login',$scope.user, {withCredentials: true}).then(function(resp) {
        console.log(resp.data);
         var alertPopup = $ionicPopup.alert({
             title: 'Logeado con exito',
             template: 'Ingresa ahora'
           });
           alertPopup.then(function(res) {
             $location.path('/app/usuarios');
           });
rodriherreria commented 9 years ago

listo a nosotros nos salio ahora.... Gracias profe..