Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将数据发送到React.js web应用程序中的数据库_Javascript_Mysql_Authentication_Reactjs - Fatal编程技术网

Javascript 将数据发送到React.js web应用程序中的数据库

Javascript 将数据发送到React.js web应用程序中的数据库,javascript,mysql,authentication,reactjs,Javascript,Mysql,Authentication,Reactjs,我正在创建一个web应用程序,我很好奇如何将数据发送到其中的MySQL数据库。我有一个在用户按下按钮时调用的函数,我希望这个函数以某种方式将数据发送到MySQL服务器。有人知道如何解决这个问题吗?我尝试了npm MySQL模块,但似乎连接不起作用,因为它是客户端。还有别的办法吗?我需要一个想法来开始 关于您需要一个服务器来处理来自React应用程序的请求,并相应地更新数据库。一种方法是将NodeJS、Express和用作服务器: var mysql=require('mysql'); var e

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


关于

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

var mysql=require('mysql'); var express=需要(“express”); var-app=express(); //建立到数据库的连接。 var connection=mysql.createConnection({ 主机:“localhost”, 用户:“我”, 密码:“secret”, 数据库:“我的数据库”, }); //连接到数据库。 //connection.connect(); //倾听对用户的POST请求。 app.post('/users',函数(req,res){ //获取发送的数据。 var user=req.body; //执行MySQL查询。 var query=connection.query('INSERT INTO users SET?',用户,函数(err,result){ //干净利落! }); res.end(“成功”); }); app.listen(3000,函数(){ log('示例应用程序监听端口3000!'); }); 然后,您可以在React组件中使用
fetch
,向服务器发出POST请求,有点像这样:

类示例扩展了React.Component{
构造函数(){
超级();
this.state={user:{}};
this.onSubmit=this.handleSubmit.bind(this);
}
handleSubmit(e){
e、 预防默认值();
var self=这个;
//提交表单时,向服务器发送POST请求和数据。
获取('/users',{
方法:“POST”,
数据:{
名称:self.refs.name,
作业:self.refs.job
}
})
.然后(功能(响应){
返回response.json()
}).然后(功能(主体){
控制台日志(主体);
});
}
render(){
返回(
);
}
}

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

这取决于应用程序的组织方式,我猜您有一个服务器提供应用程序代码。 我建议您根据您的偏好使用模块将必要的信息发送到您的服务器(如果有):

  • fetch
    内置XHR api()
  • 请求
    基于回调的npm模块()
  • axios
    promise-based npm模块()
如果您正在寻找一个模块/插件来完成从客户端到数据库的所有工作,我不知道也不确定是否有,因为通常建议使用代理(一个服务器来重定向,但也可以格式化或阻止客户端和数据库之间的请求)

然后,在您的服务器中格式化必要的信息(如果有)以供MySQL数据库使用,然后使用您选择的模块与MySQL数据库联系,第一个最流行的模块似乎是:
,但如果您知道另一个或有其他偏好,请继续。(例如,对于MongoDB,我们可以使用Mongoose简化请求)

您需要向后端服务器发出请求,后端服务器将处理MySQL查询后端服务器上使用了哪些技术来处理此问题?您有很多选择:例如,如果您想在后端使用JS,您可以使用NodeJS+Sequelize,tooReact是一个UI库。您需要一种服务器端语言来处理对数据库的HTTP请求。