当前位置: 首页 > 面试题库 >

在React.js Web应用程序中将数据发送到数据库

和谦
2023-03-14
问题内容

我正在创建一个Web应用程序,并且很好奇如何在其中将数据发送到MySQL数据库。我有一个在用户按下按钮时调用的函数,我希望该函数以某种方式将数据发送到MySQL服务器。有谁知道如何解决这个问题?我尝试了npm
MySQL模块,但似乎连接不正确,因为它是客户端。还有其他方法吗?我需要一个主意才能开始。

问候


问题答案:

您将需要一个服务器来处理来自React应用程序的请求并相应地更新数据库。 一种方法 是将NodeJS,Express和node-
mysql
用作服务器:

var mysql = require('mysql');
var express = require('express');
var app = express();

// Set up connection to database.
var connection = mysql.createConnection({
  host: 'localhost',
  user: 'me',
  password: 'secret',
  database: 'my_db',
});

// Connect to database.
// connection.connect();

// Listen to POST requests to /users.
app.post('/users', function(req, res) {
  // Get sent data.
  var user = req.body;
  // Do a MySQL query.
  var query = connection.query('INSERT INTO users SET ?', user, function(err, result) {
    // Neat!
  });
  res.end('Success');
});

app.listen(3000, function() {
  console.log('Example app listening on port 3000!');
});

然后,您 可以fetch在React组件内使用POST请求到服务器,如下所示:

class Example extends React.Component {
  constructor() {
    super();
    this.state = { user: {} };
    this.onSubmit = this.handleSubmit.bind(this);
  }
  handleSubmit(e) {
    e.preventDefault();
    var self = this;
    // On submit of the form, send a POST request with the data to the server.
    fetch('/users', { 
        method: 'POST',
        data: {
          name: self.refs.name,
          job: self.refs.job
        }
      })
      .then(function(response) {
        return response.json()
      }).then(function(body) {
        console.log(body);
      });
  }
  render() {
    return (
      <form onSubmit={this.onSubmit}>
        <input type="text" placeholder="Name" ref="name"/>
        <input type="text" placeholder="Job" ref="job"/>
        <input type="submit" />
      </form>
    );
  }
}

请记住,这只是实现此目标的无限方式之一。



 类似资料:
  • 问题内容: 我有这个小点击计数器。我想将每次单击都包含在mysql表中。有人可以帮忙吗? 万一有人想看看我做了什么: 这是phpfile.php,出于测试目的,将数据写入txt文件 问题答案: 您的问题中定义的JavaScript不能直接与MySql一起使用。这是因为它不在同一台计算机上运行。 JavaScript在客户端(在浏览器中)运行,并且数据库通常在服务器端存在。您可能需要使用中间服务器端

  • 我试图将AWS Lambda函数中的数据(可能大于10MB)发送到正在写入内部数据存储的内部CDAP应用程序。

  • 但我只能得到: 当请求实体的内容类型不是application/x-www-form-urlencoded时,使用@FormParam 我的代码:

  • 问题内容: 我正在开发一个RESTful Web应用程序(Django + Piston)。POST请求将使用Json编码的数据发送到Web应用程序。这对于我所有的纯文本数据库表都很好,但是我还有一个存储文本和二进制文件的表。将文本和二进制数据发布到RESTful应用程序的最佳方法是什么? 问题答案: 您可以对它进行Base64编码并以字符串形式将其发送到JSON消息中,也可以将二进制文件作为单独

  • 每个Kinesis应用程序都必须包括这三个组件: > iRecordProcessor接口

  • 我有一个反应式核心WebClient要发布到给定的endpoint。有效负载是对象的流量,内容类型是application/stream json flux jobFlux=flux。只是(新工作); 在服务器端,我尝试了Spring控制器样式和Spring Web反应式FunctionHandler,以使用流量负载处理上述调用的负载。 当实例化一个新对象时,域类创建和标识: 仓库目前只是一个存根