Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 如何传入HTTP头以从API发出请求?_Angularjs_Api_Http - Fatal编程技术网

Angularjs 如何传入HTTP头以从API发出请求?

Angularjs 如何传入HTTP头以从API发出请求?,angularjs,api,http,Angularjs,Api,Http,使用Angular,我试图通过请求“App Id”和“App Key”传入HTTP头以从中获取数据 我尝试过这样设置标题: $http.defaults.headers.common["App-Id"] = '5a3d8b8d'; $http.defaults.headers.common["App-Key"] = '738e9aca62e7465446b7be8fe4219ffa'; 但我得到了飞行前无效的响应 我不认为这是对您问题的完整回答,但以下是我在项目中的内容: var app

使用Angular,我试图通过请求“App Id”和“App Key”传入HTTP头以从中获取数据

我尝试过这样设置标题:

 $http.defaults.headers.common["App-Id"] = '5a3d8b8d';
 $http.defaults.headers.common["App-Key"] = '738e9aca62e7465446b7be8fe4219ffa';
但我得到了飞行前无效的
响应


我不认为这是对您问题的完整回答,但以下是我在项目中的内容:

var app = angular.module('app', ['ngRoute']);
app.config(function($routeProvider) {
  // code for routes
});
app.config(['$httpProvider', function($httpProvider) {
  $httpProvider.defaults.useXDomain = true;
  delete $httpProvider.defaults.headers.common['X-Requested-With'];
}]);

这解决了我的CORS问题。如果您想制作另一种类型的标题,您可能可以。

我不认为这是对您问题的完整回答,但以下是我在项目中的内容:

var app = angular.module('app', ['ngRoute']);
app.config(function($routeProvider) {
  // code for routes
});
app.config(['$httpProvider', function($httpProvider) {
  $httpProvider.defaults.useXDomain = true;
  delete $httpProvider.defaults.headers.common['X-Requested-With'];
}]);

这解决了我的CORS问题。如果您想做另一种类型的头,您可能可以。

飞行前错误与CORS有关。您可能希望查看rack COR,以便通过javascript启用跨站点api调用。这里有一个手动配置:

飞行前错误与CORS有关。您可能希望查看rack COR,以便通过javascript启用跨站点api调用。这里有一个手动配置:

根据每个请求向
$http
请求添加头 要按每个请求向
$http
请求添加头,请将它们添加到
$http
配置对象的
属性中

var xheaders = {};
xheaders["App-Id"] = '5a3d8b8d';
xheaders["App-Key"] = '738e9aca62e7465446b7be8fe4219ffa';

var xurl = 'https://uk.bookingbug.com/api/v1';
var configObj = { method: 'GET',
                  url: xurl, 
                  headers: xheaders
                };
$http(configObj)
    .then(function onFulfilled(response) {
        console.log(response);
        vm.headers = response.config.headers;
        vm.data = response.data
    }).catch( function onRejection(errorResponse) {
        console.log("Error: ", errorResponse.status);
        console.log(errorResponse);
        vm.error = errorResponse;
    })
;
代码在飞行前出错,因为它使用了不正确的URL。正确的基本URL是
https://uk.bookingbug.com/api/v1
支持
应用程序Id
标题和COR

在每个请求的基础上,

将头添加到
$http
请求 要按每个请求向
$http
请求添加头,请将它们添加到
$http
配置对象的
属性中

var xheaders = {};
xheaders["App-Id"] = '5a3d8b8d';
xheaders["App-Key"] = '738e9aca62e7465446b7be8fe4219ffa';

var xurl = 'https://uk.bookingbug.com/api/v1';
var configObj = { method: 'GET',
                  url: xurl, 
                  headers: xheaders
                };
$http(configObj)
    .then(function onFulfilled(response) {
        console.log(response);
        vm.headers = response.config.headers;
        vm.data = response.data
    }).catch( function onRejection(errorResponse) {
        console.log("Error: ", errorResponse.status);
        console.log(errorResponse);
        vm.error = errorResponse;
    })
;
代码在飞行前出错,因为它使用了不正确的URL。正确的基本URL是
https://uk.bookingbug.com/api/v1
支持
应用程序Id
标题和COR


是的,最终我自己得到了。你怎么知道那是正确的URL?对我来说,这主要是尝试和错误。是的,最终我自己也做到了。你怎么知道那是正确的URL?对我来说,这主要是反复试验。斯奎尔:你是如何获得你的应用程序Id和应用程序密钥的?我无法在我的帐户中找到它…斯奎尔:你是如何获得你的应用程序Id和应用程序密钥的?我无法在我的帐户中找到它。。。