我正在使用角度为我的应用程序和Web开发。我使用$ http进行数据发送和接收,但在执行真正的请求之前,我总是有这些OPTIONS请求。禁用或缓存AngularJS选项请求
我知道这些请求的目的,但这将是一个massiv负载没有和我有我的服务器上提供的所有交叉源头。
有没有什么办法只缓存OPTIONS请求或禁用这些请求?我不想使用x-www-form-urlencoded。
任何想法?
我正在使用角度为我的应用程序和Web开发。我使用$ http进行数据发送和接收,但在执行真正的请求之前,我总是有这些OPTIONS请求。禁用或缓存AngularJS选项请求
我知道这些请求的目的,但这将是一个massiv负载没有和我有我的服务器上提供的所有交叉源头。
有没有什么办法只缓存OPTIONS请求或禁用这些请求?我不想使用x-www-form-urlencoded。
任何想法?
您可以使用interceptor为禁用请求
angular.module('myApp')
.factory('myInterceptor',
function ($q) {
var interceptor = {
'request': function (config) {
if(config.method === 'OPTIONS') return;
}
};
return interceptor;
});
并将其注册到配置
angular.module('myApp')
.config(function ($httpProvider) {
$httpProvider.interceptors.push([
'$injector',
function ($injector) {
return $injector.get('myInterceptor');
}
]);
此缓存应该通过这将状态的选项的有效期由指定服务器设置报头响应中的年龄(以秒为单位)。所以标题将包含:AccessControlMaxAge:3600 – Jon 2014-09-02 15:20:47