react怎么将数据存到mysql中_ReactJS - 将数据从React发送到MySQL_reactjs_酷徒编程知识库...

博主在创建一个使用React和MySQL数据库的应用时遇到问题,前端通过Express与后端进行数据交互。当尝试从React应用向数据库插入数据时,遇到了Fetch API错误。尽管能成功从数据库获取数据,但POST请求导致数据库未更新且出现错误提示。博主怀疑问题与访问控制有关,已使用iframe并能获取数据。寻求解决方案。
摘要由CSDN通过智能技术生成

我正在创建一个发布应用程序,需要使用React和MySQL数据库之间的通信来回发送信息。使用Express作为我的JS服务器,服务器代码如下所示:const express = require('express');

const bodyParser = require('body-parser');

const mysql = require('mysql');

const cors = require('cors');

const connection = mysql.createConnection({

host : 'localhost',

user : 'root',

password : '',

database : 'ArticleDatabase',

port: 3300,

socketPath: '/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock'

});

// Initialize the app

const app = express();

app.use(cors());

appl.post('/articletest', function(req, res) {

var art = req.body;

var query = connection.query("INSERT INTO articles SET ?", art,

function(err, res) {

})

})

// https://expressjs.com/en/guide/routing.html

app.get('/comments', function (req, res) {

// connection.connect();

connection.query('SELECT * FROM articles', function (error, results,

fields) {

if (error) throw error;

else {

return res.json({

data: results

})

};

});

// connection.end();

});

// Start the server

app.listen(3300, () => {

console.log('Listening on port 3300');

});

我的React类如下所示:class Profile extends React.Component {

constructor(props) {

super(props);

this.state = {

title: '',

author: '',

text: ''

}

}

handleSubmit() {

// On submit of the form, send a POST request with the data to the

// server.

fetch('http://localhost:3300/articletest', {

body: JSON.stringify(this.state),

cache: 'no-cache',

credentials: 'same-origin',

headers: {

'content-type': 'application/json'

},

method: 'POST',

mode: 'cors',

redirect: 'follow',

referrer: 'no-referrer',

})

.then(function (response) {

console.log(response);

if (response.status === 200) {

alert('Saved');

} else {

alert('Issues saving');

}

});

}

render() {

return (

this.handleSubmit()}>

this.setState({ title: e.target.value} )} />

this.setState({ author: e.target.value} )} />

this.setState({ text: e.target.value} )} />

);

}

}

我可以搜索我的数据库,并且显示获取的信息没问题,但是,反过来就不行了。当我尝试从

标记获取输入时,我的数据库中没有插入任何内容,而是得到了以下错误:[Error] Fetch API cannot load

http://localhost:3000/static/js/0.chunk.js due to access control

checks.

Error: The error you provided does not contain a stack trace.

Unhandled Promise Rejection: TypeError: cancelled

我知道这与访问控制有关,但是因为我已经使用了iframe,并且能够从数据库中获取数据,任何建议将不胜感激。谢谢你的建议

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值