微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

angularjs – 请求标头字段预检响应中的Access-Control-Allow-Headers不允许使用Pragma

当我试图保留以下代码来禁用ajax的缓存时,我收到此错误

angularapp.config(['appConfig','$httpProvider',function (appConfig,$httpProvider) {

if (!$httpProvider.defaults.headers.get) {
    $httpProvider.defaults.headers.get = {};
}

//disable IE ajax request caching
$httpProvider.defaults.headers.get['If-Modified-Since'] = 'Mon,26 Jul 1997 05:00:00 GMT';
$httpProvider.defaults.headers.get['Cache-Control'] = 'no-cache';
$httpProvider.defaults.headers.get['Pragma'] = 'no-cache';

}]);

我在chrome中遇到如下错误

请求标头字段预检响应中的Access-Control-Allow-Headers不允许使用Pragma.

但是当我删除以下代码时,它的工作正常.

$httpProvider.defaults.headers.get['If-Modified-Since'] = 'Mon,26 Jul 1997 05:00:00 GMT';
$httpProvider.defaults.headers.get['Cache-Control'] = 'no-cache';
$httpProvider.defaults.headers.get['Pragma'] = 'no-cache';

谁能告诉我可能是什么问题?

解决方法

如果您可以在服务器端配置接受这些标头,那就没关系.
否则,您应该删除$httpProvider.defaulsts中设置的标头.
检查以下代码

var data = {}
var httpCoonfig = {
    headers: {'Pragma': undefined,'Cache-Control': undefined,'X-Requested-With': undefined,'If-Modified-Since': undefined}
};
$http.post('https://www.google.com/',data,httpCoonfig).then(function(response){
// console.log(response)
},function(response){
     console.log(response)
});

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐