我的API响应有问题。我们使用后端服务来注册异步用户。
我想检查用户是否已注册,但我没有简单的消息作为回复,但我需要检查标题:
的x操作:操作/ e18f9239-B66B-4a81-a7cb-622a40326057 如果用户已在此电子邮件中注册,此标头将告诉我是否将api请求发送到另一个端点。
在网络部分,我有以下响应标题:
Access-Control-Allow-Credentials:true
Access-Control-Allow-Origin:http://localhost:8080
Content-Length:0
Date:Wed, 22 Nov 2017 17:33:20 GMT
Server:Kestrel
Vary:Origin
x-operation:operations/e18f9239-b66b-4a81-a7cb-622a40326057
x-resource:account
根据我的要求,我正在使用axios库(react-app)
export function signupUser({ email, password }) {
return function(dispatch) {
axios.post(`${API_URL}/sign-up`, { email, password })
.then(response => {
console.log('response', response)
// browserHistory.push('/signin');
})
.catch((error) => {
// dispatch(authError(error.data.error))
console.log('error', error)
})
}
}
问题是处理响应。我需要检查x操作,但我的响应中的x操作没有出现。
当我在.then中执行我的console.log(响应)时,我有标题:{}为空。 这是console.log(响应)
response
{data: "", status: 202, statusText: "Accepted", headers: {…}, config: {…}, …}
config:
{transformRequest: {…}, transformResponse: {…}, timeout: 0, xsrfCookieName: "XSRF-TOKEN", adapter: ƒ, …}
data:""
headers:{}
request:XMLHttpRequest {readyState: 4, timeout: 0, withCredentials: false, upload: XMLHttpRequestUpload, onreadystatechange: ƒ, …}
status:202
statusText:"Accepted"
如果我在axios响应中没有它,我如何检查标题中的响应x操作,只出现在网络部分?
答案 0 :(得分:1)
试着看看这篇SO帖子:Axios get access to response header fields
您需要确保您的服务器配置为允许客户端访问这些标头,例如:Access-Control-Expose-Headers: x-operation
我相信。