首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我需要从react中获取表单数据,并将其发布到我的服务器上,作为我的查询变量。我做错了什么?

我需要从react中获取表单数据,并将其发布到我的服务器上,作为我的查询变量。我做错了什么?
EN

Stack Overflow用户
提问于 2020-02-01 03:30:06
回答 1查看 22关注 0票数 0

我正在转换为完整的堆栈,这是非常有趣的。我被困在如何从客户端获取变量到服务器端来使用它来查询API。如有任何教程或建议,将不胜感激。这个概念给了我生意,我只是还没有得到它。

代码语言:javascript
复制
////server.js
app.get("/getmovies", (req, res) => {
const {name} = req.body;

  request(`http://www.omdbapi.com/?t=${name}&apikey=${API_KEY}`,
      function (error, response, body) {
          if (!error && response.statusCode == 200) {
              var parsedBody = JSON.parse(body);
              res.send(parsedBody)

          } else {
              console.log("error in the server")
          }
      }

  )
})

//client side
state = {
  movies: null,
  movie: {
    name: ''
  }
}


postJson = (e) => {
  const { movie } = this.state;
  e.preventDefault();
  axios.post(`/getmovies`, {})

    .then(res => {
      console.log(res);
      console.log(res.data);
    }
    )
    .catch(function (error) {
      console.log(error);
    })
}


getMovies = (e) => {
  e.preventDefault();

  axios.get(`/getmovies`)

    .then(response => this.setState({ movies: response.data }))
    // .then(response => this.setState({ movies: response.data }))
    .catch(err => console.error(err))

}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-01 03:50:39

客户端

POST

您可以像这样传递请求体:

代码语言:javascript
复制
axios.post('/postmovies', {
  name: 'Fred',
}).then({
// ...

或者像这样:

代码语言:javascript
复制
axios({
  method: 'POST',
  url: '/postmovies',
  data: { name: 'Fred' },
}).then({
// ...

GET

您只需将查询参数与URL一起传递,如下所示:

代码语言:javascript
复制
const { name } = this.state;
axios.get(`/getmovies?name=${name}`).then({
// ...

查看示例这里

服务器端

查询参数

要接收查询参数,可以执行以下操作:

代码语言:javascript
复制
app.get("/getmovies", (req, res) => {
  const { name } = req.params;
  // ...

请求体

检索请求主体:

代码语言:javascript
复制
app.post("/postmovies", (req, res) => {
  const { name } = req.body;
  // ...
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60013732

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档