繁体   English   中英

飞行前响应中的Access-Control-Allow-Headers不允许请求标头字段时区

[英]Request header field Time-Zone is not allowed by Access-Control-Allow-Headers in preflight response

我有一个从POSTMAN使用的WEB API,它工作得很好:

标头:

内容类型:application / json X-Developer-Id:asdasdas X-Api-Key:asdasdas授权:Bearer sasdasdsa时区:摩洛哥标准时间

当我在POSTMAN中执行GET请求时,它工作正常,但是从角度2(离子2)出现以下错误:

Request header field Time-Zone is not allowed by Access-Control-Allow-Headers in preflight response.


let params: URLSearchParams = new URLSearchParams();
        params.set('date', date);

        //Header
        let headers = new Headers({
            'Content-Type': AppSettings.ContentType,
            'X-Developer-Id': AppSettings.XDeveloperId,
            'X-Api-Key': AppSettings.XApiKey,
            'Time-Zone': AppSettings.time_zone,
            'Authorization': AppSettings.Authorization + localStorage.getItem("AccessToken")
        });

        var RequestOptions: RequestOptionsArgs = {
            url: AppSettings.UrlAvailability + userId,
            method: 'GET',
            search: params,            
            headers: headers,
            body: null
        };

        return this.http.get((AppSettings.UrlAvailability + userId), RequestOptions)
            .map(res => res.json())
            .do(data => { data },
            err => console.log('error: ' + err));

首先,我认为API开发人员必须在服务器端执行某些操作,例如在CORS上启用时区标头,但是如果是这种情况,那么我们将在POSTMAN上收到相同的错误,但在那儿可以正常工作。

我在这里想念什么?

这是您需要在服务器上配置的内容。 您首先需要确保您具有CORS支持。 我不使用ASP.NET,所以我不知道该怎么做。 我敢肯定,快速的Google搜索将为您找到答案。 然后,您需要确保在该服务器的CORS配置中,将希望客户端能够发送的特殊标头添加到CORS允许的标头中。 那就是错误的意思:响应响应头中没有包含响应头Access-Control-Allow-Headers 响应头看起来像

Access-Control-Allow-Headers: X-Developer-Id, X-Api-Key, Time-Zone, Authorization

要了解有关CORS的更多信息,请参见MDN

首先,我认为API开发人员必须在服务器端执行某些操作,例如在CORS上启用该时区标头,但是如果是这种情况,那么我们将在POSTMAN上收到相同的错误,但是在这里可以正常工作

不,邮递员没有相同的限制。 这是一个本地桌面应用程序。 有趣的事实:99%的人在SO上发了一个CORS问题,在他们的帖子中写着“ ...但它与Postman一起工​​作!”。 所以不要难过:-)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM