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