0

我正在尝试使用自定义标头和数据向服务器发送发布请求,但服务器在 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;

我测试过,这不是服务器问题。我也尝试通过 fetch 发送它。

4

2 回答 2

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));
      });
  };
};
于 2019-02-06T09:45:50.637 回答
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));
            });
    }
于 2019-02-06T09:36:24.797 回答