Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Enviando dados do React para o MySQL


Você precisará isolar o problema verificando primeiro se seu ponto de serviço está habilitado para CORS. Para focar apenas na funcionalidade CORS, eu removeria o código MySQL temporariamente.
const express = require('express');
const bodyParser = require('body-parser');
const cors = require('cors');

const app = express();
app.use(cors());

app.get('/', function(req, res){
  var root = {};
  root.status = 'success';
  root.method = 'index';
  var json = JSON.stringify(root);
  res.send(json);
});

app.post('/cors', function(req, res) {
  var root = {};
  root.status = 'success';
  root.method = 'cors';
  var json = JSON.stringify(root);
  res.send(json);
})

// Start the server
app.listen(3300, () => {
   console.log('Listening on port 3300');
 });

Se você tiver um servidor escutando na porta 3300, execute o seguinte comando PREFLIGHT no terminal.
curl -v \
-H "Origin: https://example.com" \
-H "Access-Control-Request-Headers: X-Custom-Header" \
-H "Acess-Control-Request-Method: POST" \
-X OPTIONS \
http://localhost:3300

Se a solicitação de comprovação for bem-sucedida, a resposta deverá incluir Access-Control-Allow-Origin, Access-Control-Allow-Methods e Access-Control-Allow-Headers

Agora execute o método POST.
curl -v \
-H "Origin: https://example.com" \
-H "X-Custom-Header: value" \
-X POST \
http://localhost:3300/cors

Se a solicitação de postagem for bem-sucedida, a resposta deve incluirAccess-Control-Allow-Origin

Se tudo estiver bem, seu servidor está ok. Em seguida, você precisa experimentar o método post do seu aplicativo iOS.

NOTA. Eu também suspeitaria de usar cors no localhost. Eu mapearia 127.0.0.1 para um domínio e, em seguida, faria com que o aplicativo usasse esse domínio. Se você estiver no Linux ou Mac, modifique /etc/hosts. Para Windows é c:\windows\system32\drivers\etc\hosts