我使用我的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] 结束 结束 端
允许来自外部应用的请求。