Angular $ http不会从Rails JSON API接收响应头

时间:2015-04-17 09:44:53

标签: ruby angularjs http http-headers cors

我使用我的Angular Yeoman应用程序中的$ http进行HTTP请求,基于Ruby on Rails并设置JSON API服务。

我有一个控制器

angular.module('myApp')
  .controller('ApiwrapperCtrl', [ '$scope', '$http', '$log', '$rootScope', 'PubNub', '$cookies','$cookieStore', '$window', function($scope, $http, $log, $rootScope, PubNub, $cookies, $cookieStore, $window) {
....
And method sending request to API:
    $scope.useHttp = function() {
      var requestURL = "http://localhost:3000/api/v1/auth/sign_in?email=gladys@hamill.com&password=123123123"; 
      var requestType = "POST"
      var requestHeaders = {'Content-Type': 'application/json'};

      $http({
        method: requestType,
        url: requestURL,
        headers: requestHeaders
      }).success(function(data, status, headers, config) {
        requestHeaders = new Object();
        requestHeaders['access-token'] = headers('access-token');
        requestHeaders['token-type'] = headers('token-type');
        requestHeaders['client'] = headers('client');
        requestHeaders['expiry'] = headers('expiry');
        requestHeaders['uid'] = headers('uid');

        console.log("::: AUTH HEADERS :::");
        console.log(status);
        console.log("|||");
        console.log(data);
        console.log("|||");
        console.log(requestHeaders);
        console.log("....................");

我进入了浏览器控制台:

::: AUTH HEADERS :::
apiwrapper.js:228 200
apiwrapper.js:229 |||
apiwrapper.js:230 Objectdata: Object__proto__: Object
apiwrapper.js:231 |||
apiwrapper.js:232 Objectaccess-token: nullclient: nullexpiry: nulltoken-type: nulluid: null__proto__: Object
apiwrapper.js:233 ....................

我做错了什么?如何正确阅读Angular应用程序中的标题?

P.S>以前,当Angular是Rails项目的一部分时,它正在以成功的方式读取标题。

现在我在API服务器端使用rack-cors。 添加到config / application.rb:     config.middleware.use Rack :: Cors       允许做             起源''             资源'',:headers => :any,:methods => [:get,:post,:put,:delete]           结束         结束   端

允许来自外部应用的请求。

0 个答案:

没有答案