Bonjour,
Voila je rencontre un petit problème avec mon code. Je cherche à envoyer des données en POST via AJAX dans un formulaire angularJS. Le problème est que les données envoyée sont perdues, le serveur ne reçoit aucunes données, et cela pour deux fonctions. J'avais fait une première fonction dont le code est similaire et fonctionne parfaitement, mais pas pour les deux autres.
Voici la partie HTML. Le formulaire est et généré via un ng-repeat d'un tableau d'objets.
<form ng-submit="hidePartenaire(partenaire.userB, partenaire.interUserB)">
<input class="form-control" type="hidden" ng-model="partenaire.userB"/>
<button ng-if="partenaire.interUserB == 'V'" class="btn btn-success" type="submit">Masquer</button>
<button ng-if="partenaire.interUserB != 'V'" class="btn btn-success" type="submit">Rendre visible</button>
</form>
La partie JS dans le controller :
$scope.upPartenaire = function (lepartenaire, statut) {
$http({
method: 'POST',
data: JSON.stringify({
partenaire : lepartenaire,
statut : statut
}),
url: 'js/controller/upPartenaire.php',
headers : {'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8'},
data: {statut: $scope.statut, partenaire: $scope.lepartenaire},
}).then(function (response) {// on success
$scope.name=undefined;
$http.get('js/controller/upPartenaire.php').success(function(data) {
$scope.result = data;
console.log($scope.result);
}), function(msg){
alert(msg);
};
Pour la partie PHP à part le file_get_content("php://input") et le retourner à nouveau à la partie Jascript pour verfier son contenu il n'y a rien. Si j'essaye de manipuler ce que je reçois la partie php m'indique un message d'erreur comme quoi la vaialbe est vide.
Pour quelle raison tu fais un appel à ajax dans le success de l'appel ajax ?
A priori, la réponse à ton premier appel à ajax doit se trouver dans "response" (il semblerai que ce soit response.data, mais fait un console.log pour t'en assurer).
Je ne comprend pas, par contre, l'intérêt du second appel ajax ?
PS: tu remplis 2 fois "data".
D'accord, merci de la réponse, je pensais que le seconde appel ajax permettait de récupérer la réponse du serveur