Page 1 sur 1

POST Error 500 Internal error Laravel

Posté : 12 nov. 2014, 12:43
par PixelSynox
Bonjour à tous !

J'essaie de créer une petite api en Laravel avec une petite webapp en angularjs.
Néanmoins, j'ai un petit problème, lorsque j'envoies mes données utilisateurs (lors du login) vers mon API pour checker les identifiants avec ceux de ma base de donnée, je me retrouve avec un POST 500 Error.

JE vous présente ici mes différents codes :

loginController :

Code : Tout sélectionner

'use strict'; intra.controller('loginController', ['$scope', '$location', 'authentificationService', function($scope, $location, authentificationService) { $scope.user = { mail: '', pass: ''}; $scope.login = function() { authentificationService.login($scope.user); }; } ]);
authentificationService:

Code : Tout sélectionner

'use strict'; intra.factory('authentificationService', ['$location', '$http', function ($location, $http) { return { login: function(data) { return $http.post('/auth/login', data).success(function(response){ console.log(response); }).error(function(response){ console.log(response); }); }, logout: function() { return $http.get('/auth/logout'); } } } ]);
Mes routes Laravel :

Code : Tout sélectionner

Route::get('/', function (){ return View::make('singlepage'); }); Route::post('/auth/login', 'AuthController@login'); //Route::get('/auth/logout', 'AuthController@logout');
Mon AuthController:

Code : Tout sélectionner

<?php Class AuthController extends BaseController { public function login (){ if(Auth::attempt(array('email' => Input::json('mail'), 'password' => Input::json('pass')))){ return Response::json(Auth::user()); } else { return Response::json(array('flash' => 'Invalid Username or Password')); } //return array('email' => Input::json('mail'), 'password' => Input::json('pass')); } public function logout (){ Auth::logout(); return Response::json(array('message' => 'Logged out!')); } }
Chose interessante, lorsque j'utilise juste mon return (commenté dans l'exemple) dans mon AuthCOntroller, c'est-a-dire, lorsque je lui demande simplement de me renvoyer la requête JSON, tout marche bien. Dans mon service, je récupère bien les informations, mais dès que je demande le check de la requête par rapport à la BDD, j'ai ce message

Image

Et voici la réponse que j'obtiens dans Postman :

Image

Pensant que c'était un problème d'AllowMethods, je suis aller téléchargé le module https://github.com/barryvdh/laravel-cors, pour pouvoir autoriser les méthodes POST, mais même après cela, ça ne marche pas ....

J'avoue que là je suis à court d'idées, je viens donc vous demander votre aide !

Merci beaucoup !

PS: je fais mon API en php, car c'est ce que je connais le mieux même si je ne suis pas un tiptopkillerkikoololkevin du PHP, Est ce que c'est plus pertinent de faire une API en NodeJS ou RubyOnRails ? Si oui, je réaliserais ce dont j'ai besoin rapidement avec laravel et me déporterais pour refaire l'API en nodeou ruby plus tard . Un petit conseil / avis sur le sujet est aussi bienvenue ! :)

Re: POST Error 500 Internal error Laravel

Posté : 19 nov. 2014, 23:15
par moogli
salut,

le message d'erreur est relativement clair : Aucune connexion n'a pu être établie car l'ordinateur cible l'a expressément refusée !

+PDOException et SQLSTATE

la raison de cela c'est que la configuration de mysql n'est pas bonne.
Il faut spécifier que tu te connecte en local ou a distance pour l'utilisateur choisis.

tu peux utiliser un client mysql (comme phpmyadmin, heidisql, mysqlworkbench etc.) pour corriger le tire.

sinon tester avec un autre utilisateur dans app/config/database.php, dans l'index connections et le tableauqui te correspond.


@+