如何从ReactJS Web应用发送POST请求到Django API?

时间:2018-11-02 17:13:24

标签: javascript python django reactjs

我创建了一个非常简单的Django API。它返回一个固定的数值(仅用于测试目的):

views.py

find

我还有一个使用React JS开发的简单前端。为了开发后端和前端,我使用了以下两个教程:

现在,我想从ReactJS向Django API发送POST请求,并传递from django.http import HttpResponse def index(request): return HttpResponse(0) name参数。我该怎么办?

这是我的App.js

email

1 个答案:

答案 0 :(得分:1)

要从React应用发送HTTP请求,您有两个主要选项。

使用集成的Fetch API(https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API)或类似axios(https://github.com/axios/axios)之类的东西。

为了从表单中获取信息,请在每个输入上触发onChange,并将输入状态保存为组件状态。

onChange = (prop: any, value: string) => {
    this.setState({
      [prop]: value
    });
  };

之后,下面是使用fetch API的示例:

const response = fetch("endpoint_url",
            {
                method: 'POST',
                body: JSON.stringify({
                    this.state.name,
                    this.state.email
                    // Other body stuff
                }),
                headers: {
                    'X-Api-Key': API_KEY,
                    'Content-Type': 'application/json'
                    // Other possible headers
                }
            }
        );

最后,您需要使用const responseJson = response.json();

将响应解析为JSON

这能回答您的问题吗?