我正在尝试使用自定义标头和数据将发布请求发送到服务器,但是服务器在android上接收到空对象。我正在使用axios 0.18.0和react-native 0.57.8
const Feedback = () => {
return dispatch => {
dispatch(fetchingData(true));
axios.post(url, {x: 'x'}).then(res => {
dispatch(fetchDataSuccess(true));
dispatch(feedback(res.data));
}).catch(err => {
dispatch(fetchDataFailure(err));
});
}
和axios的标头:
axios.defaults.headers.common['Authorization'] ="Bearer " + e;
我测试过,这不是服务器问题。我也尝试通过提取发送它。
答案 0 :(得分:0)
您可以添加标头的配置,并将其添加到“反馈”中
const config = {
headers: {
'content-type': 'multipart/form-data',
'Authorization': 'Bearer '+token
}
};
const Feedback = () => {
return dispatch => {
dispatch(fetchingData(true));
axios.post(url, config).then(res => {
dispatch(fetchDataSuccess(true));
dispatch(feedback(res.data));
}).catch(err => {
dispatch(fetchDataFailure(err));
});
}
答案 1 :(得分:0)
您需要将标头作为第三个参数传递给api调用
const Feedback = () => {
return dispatch => {
dispatch(fetchingData(true));
axios.post(
url,
{ x: "x" },
{
headers: {
authorization: "your authorization"
}
}
)
.then(res => {
dispatch(fetchDataSuccess(true));
dispatch(feedback(res.data));
})
.catch(err => {
dispatch(fetchDataFailure(err));
});
};
};