删除 Contentful CreateClient API 请求的默认值 header
Delete default header for Contentful CreateClient API request
我正在将 Contentful 作为 CMS 集成到我的 React Web 应用程序中。 npm 包 contentful 允许访问使用 createClient
方法存储的内容。此方法使用 Axios 创建内容传送请求 API.
client = contentful.createClient({
space: *** ,
accessToken: ***
})
// getting data
fetchPosts = () => this.client.getEntries()
但问题是——我已经在我的应用程序中使用了 Axios,并且通过我的 React 客户端发出的每个请求都包含默认的通用 header auth-token
。因此,我的 HTTP 请求出现以下错误 - Request header field auth-token is not allowed by Access-Control-Allow-Headers in preflight response.
我尝试将整个 header 设置为空 object 并将 auth-token
设置为未定义
但这无济于事,因为我的请求仍会包含我默认 header -
的密钥
client = contentful.createClient({
space: *** ,
accessToken: ***,
headers: {}
})
// OR
client = contentful.createClient({
space: *** ,
accessToken: ***,
headers: { 'auth-token' : undefined }
})
我遇到了这个 并且它回答了如何修改一个请求以不包含常见的 header 但我不确定如何使用它来修改 createClient
方法.
感谢您的帮助。
在不使用 contentful's javascript SDK 的情况下尝试了以下方法并且有效:
- 针对特定请求修改 Axios 实例以删除您的默认 headers
- 使用基本(+ 普通)URL 访问内容交付 API。
const url =
`${baseUrl}/spaces/${spaceId}/environments/master/entries?access_token=${accessToken}` ;
axios.get(url, {
transformRequest: (data, headers) => {
delete headers.common['auth-token'];
return data;
}
})
我正在将 Contentful 作为 CMS 集成到我的 React Web 应用程序中。 npm 包 contentful 允许访问使用 createClient
方法存储的内容。此方法使用 Axios 创建内容传送请求 API.
client = contentful.createClient({
space: *** ,
accessToken: ***
})
// getting data
fetchPosts = () => this.client.getEntries()
但问题是——我已经在我的应用程序中使用了 Axios,并且通过我的 React 客户端发出的每个请求都包含默认的通用 header auth-token
。因此,我的 HTTP 请求出现以下错误 - Request header field auth-token is not allowed by Access-Control-Allow-Headers in preflight response.
我尝试将整个 header 设置为空 object 并将 auth-token
设置为未定义
但这无济于事,因为我的请求仍会包含我默认 header -
client = contentful.createClient({
space: *** ,
accessToken: ***,
headers: {}
})
// OR
client = contentful.createClient({
space: *** ,
accessToken: ***,
headers: { 'auth-token' : undefined }
})
我遇到了这个 createClient
方法.
感谢您的帮助。
在不使用 contentful's javascript SDK 的情况下尝试了以下方法并且有效:
- 针对特定请求修改 Axios 实例以删除您的默认 headers
- 使用基本(+ 普通)URL 访问内容交付 API。
const url =
`${baseUrl}/spaces/${spaceId}/environments/master/entries?access_token=${accessToken}` ;
axios.get(url, {
transformRequest: (data, headers) => {
delete headers.common['auth-token'];
return data;
}
})