【问题标题】:Using Axios how to send username in GET request使用 Axios 如何在 GET 请求中发送用户名
【发布时间】:2018-04-24 01:46:13
【问题描述】:

React-Django 应用程序。用户通过axiosPUT提供用户名和密码进行登录,如果返回正确的JWT和用户名,则两者都存储在sessionStorage中。然后用户会被自动路由到/home,该/home 应该填充特定于用户的信息。

/homecomponentWillMount() 应该是 GET 通过 Axios 来自数据库的 /home 的内容。有些是静态的,有些与用户相关,例如first_name。我正在尝试将用户名与 JWT 一起发送以检索此信息,但不知道如何。

这就是我在检索欢迎消息等静态内容时所拥有的。只想发送username,这样我就可以添加逻辑服务器端来检索该用户的信息并在响应中发回。

import axios from 'axios';
import { push } from 'react-router-redux';
import { ROOT_URL } from '../../config/config.json';

// Establish the different types
export const WELCOME_MESSAGE = 'welcome_message';

export function getWelcome() {

    return function(dispatch) {
        axios
            .get(
                `${ROOT_URL}/api/home/`,
                { headers: 
                    { 
                        'Content-Type': 'application/json',
                        'Authorization': 'JWT ' +  sessionStorage.getItem('token')
                    }
                }
            )
            .then(response => {
                dispatch({ 
                    type: WELCOME_MESSAGE,
                    payload: response.data
                });
            })
            .catch(error => {
                console.log("Broke");
            });
    }
}

最坏的情况,我只是使用POST 制作另一个函数,我知道我可以轻松地发送此信息。

【问题讨论】:

    标签: django reactjs react-redux axios


    【解决方案1】:

    所以您想在 AXIOS 中以 GET 请求方法发送用户名。
    您可以将 URL 中的用户名作为 查询 发送,以便在后端您可以从 URL 查询中访问用户名
    示例: ${ROOT_URL}/api/home?username=rahulrana
    这就是您可以通过 GET 方法实现此目的的方法。
    通过URL中的查询是发送信息的唯一途径。

    【讨论】:

    • 好的,谢谢你解决这个问题。开始意识到我需要更好地理解 REST。
    • 没问题。看看rest不同的方法如何处理数据。
    • @sockpuppet 实际上,这只是一个标准的 API 请求,一个相同类型的 RESTful 请求例如是 /api/users/rahulrana/components/home,其中 userscomponents 描述资源名称,而 @987654324 @ 和 home 描述了这些资源中的每一个的标识符。 Rahul 说 GET 请求必须通过 URI 本身传递参数是正确的,因为请求没有正文,但是参数没有必须在查询中,它们可以是如果您选择以这种方式设计 API,则作为 URI 的一部分。
    猜你喜欢
    • 2020-03-28
    • 2022-01-23
    • 2019-10-21
    • 2021-02-12
    • 2020-08-16
    • 2021-03-11
    • 2019-03-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多