![](/img/trans.png)
[英]XMLHttpRequest cannot load URL. Invalid HTTP status code 400
[英]XMLHttpRequest cannot load URL Invalid HTTP status code 401 AngularJs
我正在尝试使用angular.js在google chrome应用程序中从API获取一些数据-Advanced Rest Client我测试了标头,并且工作正常,我收到200响应,我可以看到数据,但是当我运行时我的应用程序出现以下错误:
拒绝设置不安全的标题“ Access-Control-Request-Headers” ionic.bundle.js:17607选项http://api.representemais.com.br/api/clientes 401(需要授权)(索引):1 XMLHttpRequest无法加载http://api.representemais.com.br/api/clientes 。 无效的HTTP状态代码401
angular.module('starter.services', [])
/* CATEGORIES */
.factory('ServiceClientes', ['$http', function ($http) {
var endpoint = 'http://api.repmais.com/api/clients';
var token = "99KI9Gj68CgCf70deM22Ka64chef2C40Gm2lFJ2J0G9JkD0bFAcbFfd19MfacGf3FFm8CM1hG0eDiIk8";
var credencial = "rm@w.com.br:cd87cd5ef753a06ee79fc75ds7cfe66c";
var origem = "mobile";
return {
getAll: function () {
return $http.get(endpoint, {
headers: {
'X-API-TOKEN': token,
'X-API-CREDENCIAL': credencial,
'X-API-ORIGEM': origem,
'Access-Control-Allow-Methods' : 'POST, GET, OPTIONS, PUT',
'Access-Control-Allow-Origin' : 'http://localhost:8100',
'Access-Control-Allow-Credentials': true,
'Access-Control-Request-Headers': 'X-Requested-With, accept, content-type',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
});
}
}]);
您正在尝试手动设置应该由浏览器设置的标题。
上述标头由用户代理控制,以使其控制传输的那些方面。 这在一定程度上保证了数据完整性。
https://dvcs.w3.org/hg/xhr/raw-file/tip/Overview.html#dom-xmlhttprequest-setrequestheader
另外,假定服务器将使用Access-Control-Allow标头。 您可以在这里阅读有关它的更多信息: https : //developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS
$httpProvider.defaults.headers.common = {};
$httpProvider.defaults.headers.post = {};
$httpProvider.defaults.headers.put = {};
$httpProvider.defaults.headers.patch = {};
将其添加到您的app.config中,如果不起作用,请尝试从控制器发布请求,而不是从服务中发布请求
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.