Angularjs调用restful api(post)没有成功错误请求

Posted

技术标签:

【中文标题】Angularjs调用restful api(post)没有成功错误请求【英文标题】:Angularjs calling restful api (post) without success bad request 【发布时间】:2016-06-04 19:19:20 【问题描述】:

我必须使用基本身份验证调用一个宁静的 API “我认为身份验证正在工作)” 需要这个特殊的自定义标头:“X-AppGlu-Environment: staging” 我不知道如何放置标头”然后我需要发布到一个 URL,数据格式如下:

Body:


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

现在让我们看看我的代码“它还没有结构化”

控制器:

'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; );

  

  );

查看:

    <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>

当我尝试搜索某些内容时收到错误 400 错误请求,我认为是我尝试发送的对象的格式,但如果是,我不知道要更改什么。

【问题讨论】:

我将首先使用浏览器中的开发工具。您应该能够在网络选项卡下找到该帖子。检查帖子,以便查看您发送的内容。 现在工作我改成这个结构 【参考方案1】:

现在工作我改成这个结构

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; );

【讨论】:

以上是关于Angularjs调用restful api(post)没有成功错误请求的主要内容,如果未能解决你的问题,请参考以下文章

使用 ANGULARJS 从 Jersey rest api 调用中下载/保存文件。文件附加响应为“Content-Disposition”

使用 Angular JS、cors 调用 symfony 2 rest api

使用 angularjs 从 PHP REST API 下载 docx 文件

AngularJS 访问 Cbssports REST API

AngularJS Resource:与 RESTful API 交互

AngularJs调用Restful实现CRUD - AngularJs