无法在 axios 中与 bodyFormData 一起传递身份验证标头

康阿拉

我正在尝试使用 react 和 django rest 框架来制作评论功能,只有经过身份验证的用户才能对博客发表评论。我可以使用 Postman 实现相同的目标,但是当我尝试使用 react 应用程序中的 axios 时它不起作用。尽管用户已登录,但它显示未提供经过身份验证的详细信息。

这是我到目前为止使用 axios 所做的

export const blogPrimaryCommentCreate = (type, slug, content) => (dispatch, getState) => {

    var bodyFormData = new FormData();
    bodyFormData.append('content', content);

    axios
        .post(`http://127.0.0.1:8000/api/comments/create/`, bodyFormData, { params: { type, slug } }, tokenConfig(getState))
        .then(res => {
            dispatch(createMessage({ commentSuccess: 'Thank You. Comment has been submited to Moderator' }));
            dispatch({
                type: CREATE_BLOG_PRIMARY_COMMENT,
                payload: res.data
            });

        })
        .catch(err =>
            dispatch(returnErrors(err.response.data, err.response.status))
        );
};



export const tokenConfig = getState => {
    // Get token from state
    const token = getState().auth.token;


    // Headers

    const config = {
        headers: {
            "Content-Type": "application/json"

        }
    };

    // If token, add to headers config
    if (token) {
        config.headers["Authorization"] = `Token ${token}`;
    }

    return config;
};

这是来自网络选项卡下的 Chrome Dev 工具的错误详细信息

##General##
Request URL: http://127.0.0.1:8000/api/comments/create/?type=articles&slug=my-second-blog-my-second-blog-my-second-blog-my-se
Request Method: POST
Status Code: 401 Unauthorized
Remote Address: 127.0.0.1:8000
Referrer Policy: no-referrer-when-downgrade

##Response Header##
Access-Control-Allow-Origin: *
Allow: POST, OPTIONS
Content-Length: 58
Content-Type: application/json
Date: Fri, 06 Sep 2019 20:27:34 GMT
Server: WSGIServer/0.2 CPython/3.7.1
Vary: Accept, Cookie, Origin
WWW-Authenticate: Token
X-Frame-Options: SAMEORIGIN


##Request Header##
Provisional headers are shown
Accept: application/json, text/plain, */*
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary4Ex7moZAQ1BAIDFT
DNT: 1
Origin: http://localhost:3000
Referer: http://localhost:3000/blogs/my-second-blog-my-second-blog-my-second-blog-my-se
Sec-Fetch-Mode: cors
User-Agent: Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Mobile Safari/537.36
type: articles


##Query String Parameter##
slug: my-second-blog-my-second-blog-my-second-blog-my-se
content: dfg


##Form Data##
Test
凯奥·杜阿尔特

您将标题作为第四个参数传递,但它是params.

这是方法签名: axios#post(url[, data[, config]])

只需将您的请求更新为:

axios.post(URL, bodyFormData, { params: { type, slug }, ...tokenConfig(getState) })

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将身份验证标头添加到axios挂钩请求中?

来自分类Dev

身份验证筛选器无法与Web API中的授权筛选器一起使用

来自分类Dev

无法在PHP中设置用于用户身份验证的Soap标头

来自分类Dev

使用 fetch 或 axios 发送身份验证标头

来自分类Dev

在Primeng中,p表的粘贴标头无法与[scrollable] = true一起使用。

来自分类Dev

无法在 Axios 中取消 POST

来自分类Dev

在vue中处理axios请求返回的身份验证页面

来自分类Dev

无法在axios .catch中获得错误消息

来自分类Dev

如何在httpRequest中设置标头身份验证?

来自分类Dev

R中的Azure DocumentDB身份验证标头

来自分类Dev

未使用Axios PUT请求设置身份验证标头

来自分类Dev

IDP启动的SAML登录错误-身份验证语句太旧,无法与value一起使用

来自分类Dev

csrf_exempt无法与Django身份验证一起使用

来自分类Dev

无法与NancyFX一起使用基于令牌的身份验证

来自分类Dev

Laravel 5.2多表身份验证和中间件一起无法正常工作

来自分类Dev

Git github无法与谷歌身份验证器OSX一起使用

来自分类Dev

无法与NancyFX一起使用基于令牌的身份验证

来自分类Dev

Laravel 5.2多表身份验证和中间件一起无法正常工作

来自分类Dev

Gmail api身份验证无法与javascript一起使用

来自分类Dev

Passport-jwt身份验证无法与node-jwt-simple一起正常工作

来自分类Dev

无法使用Axios从Http POST请求获取标头

来自分类Dev

无法使用 axios 发送带有标头的获取请求

来自分类Dev

无法将 JWT 标头设置为 axios

来自分类Dev

PHP标头404无法与.htaccess一起使用?

来自分类Dev

password.js中的身份验证,与angular js一起使用

来自分类Dev

JQuery Ajax基本身份验证标头无法正常工作

来自分类Dev

使用POST的NodeJS Express身份验证发送后返回错误无法设置标头

来自分类Dev

标头xml中的空间与php一起使用

来自分类Dev

无法将Box API Enterprise API与OAuth2身份验证的应用程序一起使用

Related 相关文章

  1. 1

    如何将身份验证标头添加到axios挂钩请求中?

  2. 2

    身份验证筛选器无法与Web API中的授权筛选器一起使用

  3. 3

    无法在PHP中设置用于用户身份验证的Soap标头

  4. 4

    使用 fetch 或 axios 发送身份验证标头

  5. 5

    在Primeng中,p表的粘贴标头无法与[scrollable] = true一起使用。

  6. 6

    无法在 Axios 中取消 POST

  7. 7

    在vue中处理axios请求返回的身份验证页面

  8. 8

    无法在axios .catch中获得错误消息

  9. 9

    如何在httpRequest中设置标头身份验证?

  10. 10

    R中的Azure DocumentDB身份验证标头

  11. 11

    未使用Axios PUT请求设置身份验证标头

  12. 12

    IDP启动的SAML登录错误-身份验证语句太旧,无法与value一起使用

  13. 13

    csrf_exempt无法与Django身份验证一起使用

  14. 14

    无法与NancyFX一起使用基于令牌的身份验证

  15. 15

    Laravel 5.2多表身份验证和中间件一起无法正常工作

  16. 16

    Git github无法与谷歌身份验证器OSX一起使用

  17. 17

    无法与NancyFX一起使用基于令牌的身份验证

  18. 18

    Laravel 5.2多表身份验证和中间件一起无法正常工作

  19. 19

    Gmail api身份验证无法与javascript一起使用

  20. 20

    Passport-jwt身份验证无法与node-jwt-simple一起正常工作

  21. 21

    无法使用Axios从Http POST请求获取标头

  22. 22

    无法使用 axios 发送带有标头的获取请求

  23. 23

    无法将 JWT 标头设置为 axios

  24. 24

    PHP标头404无法与.htaccess一起使用?

  25. 25

    password.js中的身份验证,与angular js一起使用

  26. 26

    JQuery Ajax基本身份验证标头无法正常工作

  27. 27

    使用POST的NodeJS Express身份验证发送后返回错误无法设置标头

  28. 28

    标头xml中的空间与php一起使用

  29. 29

    无法将Box API Enterprise API与OAuth2身份验证的应用程序一起使用

热门标签

归档