sql >> Database teknologi >  >> RDS >> Mysql

Sender data fra React til MySQL

Du bliver nødt til at isolere problemet ved først at bekræfte, at dit servicepunkt er CORS-aktiveret. For udelukkende at fokusere på CORS-funktionalitet, ville jeg fjerne MySQL-koden midlertidigt.

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');
 });

En du har server, der lytter på port 3300, skal du køre følgende PREFLIGHT-kommando på terminalen.

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

Hvis forhåndsanmodningen lykkes, skal svaret omfatte Access-Control-Allow-Origin, Access-Control-Allow-Methods og Access-Control-Allow-Headers

Kør nu POST-metoden.

curl -v \
-H "Origin: https://example.com" \
-H "X-Custom-Header: value" \
-X POST \
http://localhost:3300/cors

Hvis postanmodningen er vellykket, skal svaret indeholde Access-Control-Allow-Origin

Hvis alt ser godt ud, er din server okay. Du skal derefter prøve postmetoden fra din iOS-app.

BEMÆRK. Jeg ville også være mistænksom over at bruge cors på localhost. Jeg ville kortlægge 127.0.0.1 til et domæne og så få appen til at bruge det domæne i stedet for. Hvis du er på Linux eller Mac, ændrer du /etc/hosts. For Windows er det c:\windows\system32\drivers\etc\hosts



  1. Hvordan søger jeg efter navne, der starter med A i MySQL?

  2. Sådan fungerer Cot() i PostgreSQL

  3. MySQL-fejl 1153 - Fik en pakke større end 'max_allowed_packet' bytes

  4. Tilslutning af MySQL fra JSP