J'ai un formulaire avec le tag ng-submit="login()
La fonction est appelée correctement en javascript.
function LoginForm($scope, $http)
{
$http.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8';
$scope.email = "fsdg@sdf.com";
$scope.password = "1234";
$scope.login = function()
{
data = {
'email' : $scope.email,
'password' : $scope.password
};
$http.post('resources/curl.php', data)
.success(function(data, status, headers, config)
{
console.log(status + ' - ' + data);
})
.error(function(data, status, headers, config)
{
console.log('error');
});
}
}
Je reçois une réponse 200 OK du fichier PHP, cependant, les données renvoyées le disent email
et ne password
sont pas définies. C'est tout le php que j'ai
<?php
$email = $_POST['email'];
$pass = $_POST['password'];
echo $email;
?>
Une idée de pourquoi j'obtiens des POST
valeurs indéfinies ?
ÉDITER
Je voulais le souligner car cela semble être une question populaire (mais elle est ancienne), .success
et .error
a été obsolète et vous devriez utiliser .then
comme @James Gentes l'a souligné dans les commentaires
Form-Data
il est dit{"email":"fsdg@sdf.com","password":"1234"}
print_r($_POST);
puis essayez json_decode()
le bon index
echo 'test';
fonctionne très bien. Je pointe certainement vers le bon fichier
$http
?