setFullResponse时没有自定义标题(true)

问题描述:

我正在使用Restangular。我想得到完整的回复,所以我设置setFullResponse时没有自定义标题(true)

Restangular.setFullResponse(true); 

但后来我发现我的自定义标题不起作用。对于setFullResponse()方法文档说:

为了Restangular访问自定义HTTP头,服务器必须响应具有访问控制展露报头:设置。

我想发送我的自定义标题,但我不想更改服务器设置。可能吗? 如果我保留默认设置,即setFullResponse(false),则自定义标头不存在问题。除了更改服务器设置以外是否还有其他解

您从setFullResponse()文档中引用的句子是关于您的Restangular应用能够访问的响应的哪些标题。而这就是说,除非服务器已经配置为在Access-Control-Expose-Headers头中发送正确的响应头名称,否则不可能从响应中访问大部分头文件。

没有服务器设置为标题的任何值,唯一的响应头:浏览器将让你从客户端JavaScript访问你的web应用程序是Cache-ControlContent-LanguageContent-TypeExpiresLast-Modified & Pragma响应标头。

关于该规范见https://fetch.spec.whatwg.org/#cors-safelisted-response-header-name

我想发送我的自定义标题,但我不想更改服务器设置。可能吗?

如果您的意思是您希望在客户端Restangular代码发送到服务器的请求中发送自定义标头,请提供有关您要发送哪些自定义标头的更多详细信息。

有过,虽然,还有另一种CORS标题您的服务器必须在响应发送:Access-Control-Allow-Headers响应头。如果服务器未配置为使用列出的正确头名称发送该请求,那么您的请求将失败。在这种情况下的原因是,您将点击https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS#Preflighted_requests