繁体   English   中英

XMLHttpRequest无法加载URL无效的HTTP状态代码401 AngularJs

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM