Я пытаюсь получить доступ к моим данным MySQL в моем приложении реакции.Для этого я использую 2 файла:
Для реакции:
var request = require("request");
var option = {
url : 'http://localhost:3001/test',
headers : {
'Access-Control-Allow-Origin':'*'
},
json : true,
body : {
option : "myoption"
},
mode: 'cors',
method :"GET"
};
request(option, function (error, response, body) {
console.log('error:', error);
console.log('statusCode:', response && response.statusCode);
console.log('body:', body);
});
ReactDOM.render(<App />, document.getElementById('root'));
serviceWorker.unregister();
Для SQL:
function create_connect(){
var connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : '',
database : 'site'
});
connection.connect();
console.log("connected");
return connection;
}
app.get('/test', function (req, res) {
var connection = create_connect();
console.log(req.body);
connection.query('SELECT * FROM test', function (error, results, fields) {
console.log(error);
console.log(results);
console.log(fields);
res.send(results)
});
connection.end();
});
app.listen(3001, () => {
console.log('Launched');
});
Однако я получаю "Error: Invalid value for opts.mode"
, когда ставлю "mode: 'cors' "или" mode: 'no-cors' "и "Access to fetch at 'http://localhost:3001/test' from origin 'http://localhost:3000' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.
"
, когда я не знаю. Как это исправить?
Кроме того, я использовалправильный синтаксис, чтобы получить body.option правильно? И res.send(result)
пойман console.log("body":body)
?