0

Je dois appeler une API reposant avec auth auth "je pense que l'auth fonctionne" qui a besoin de cet entête personnalisé spécial: "X-AppGlu-Environnement: staging « Je ne sais pas comment mettre l'en-tête » alors je dois poster une URL, les données avec ce format:Angularjs appelant repos api (post) sans succès mauvaise demande

Body: 

{ 
    "params": { 
    "stopName": "what you want search" 
} 
} 

Voyons voir mon code à l'instant « il n'est pas encore structurée »

contrôleur:

'use strict'; 

angular.module('myApp', ['base64']) 
.controller('transportController', function($scope, $http, $base64){ 
$scope.$watch('search', function() { 
    fetch(); 
}); 



function fetch(){ 

var data = { 
    "params": { 
    "stopName": $scope.search 
} 
} 

    $http.defaults.headers.post['Content-Type'] = 'application/json; charset=utf-8'; 
    var encoded = $base64.encode("xxxx:xxxx"); 
    $http.defaults.headers.common.Authorization = 'Basic ' + encoded; 
    $http.post("the url", data) 
.then(function(response){ $scope.details = response.data; }); 

    } 

    }); 

Vue:

<div class="input-group search-bar"> 
     <input type="text" ng-model="search" ng-model-options="{ debounce: 800 }" onclick="select()" class="form-control" placeholder="Enter destiny" autofocus /> 
     <span class="input-group-addon bar-style"><i class="glyphicon glyphicon-search"></i></span> 

Je reçois une erreur 400 mauvaise demande lorsque je tente de chercher quelque chose, je pense que quelque chose est le format de l'objet que je suis en train d'envoyer, mais si est, je ne Je ne sais pas quoi changer.

+0

Je commencerais en utilisant des outils de dev dans votre navigateur. Vous devriez être en mesure de trouver le message sous l'onglet réseau. Inspectez le poste pour voir ce que vous envoyez. –

+0

Ça marche maintenant j'ai changé pour cette structure – michelpm1

Répondre

0

travaille maintenant je l'ai changé à cette structure

function fetch(){ 

var data = { 
     "params":{ 
     "stopName": "%"+$scope.search+"%" 
    } 
} 

var encoded = $base64.encode("xxxx:xxxx"); 
$http({ 
    url: "url", 
    headers : { 
    "X-AppGlu-Environment":"staging", 
    "Authorization": "Basic "+encoded, 
    "Content-Type" : "application/json; charset=utf-8" 
    }, 
    method: 'POST', 
    data: { 
    "params":{ 
     "stopName": "%"+$scope.search+"%" 
    } 
    } 
}).then(function(response){ 
    $scope.details = response.data.rows; 
}); 


// $http.get("http://www.omdbapi.com/?s=" + $scope.search) 
    //.then(function(response){ $scope.related = response.data; }); 
}