sql >> Databáze >  >> RDS >> Mysql

Odesílání dat z React do MySQL

Budete muset izolovat problém tak, že nejprve ověříte, že vaše servisní místo je povoleno CORS. Abych se mohl soustředit pouze na funkcionalitu CORS, dočasně bych odstranil kód MySQL.

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

Jakmile server naslouchá na portu 3300, spusťte na terminálu následující příkaz PREFLIGHT.

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

Pokud je požadavek před výstupem úspěšný, měla by odpověď obsahovat Access-Control-Allow-Origin, Access-Control-Allow-Methods a Access-Control-Allow-Headers

Nyní spusťte metodu POST.

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

Pokud je požadavek na odeslání úspěšný, odpověď by měla obsahovat Access-Control-Allow-Origin

Pokud vše vypadá dobře, váš server je v pořádku. Poté musíte vyzkoušet metodu odesílání z aplikace pro iOS.

POZNÁMKA. Také by mi bylo podezřelé používání cors na localhostu. Mapoval bych 127.0.0.1 na doménu a aplikaci bych místo toho nechal použít tuto doménu. Pokud používáte Linux nebo Mac, upravíte /etc/hosts. Pro Windows je to c:\windows\system32\drivers\etc\hosts



  1. Jak mohu použít datový typ data na serveru SQL?

  2. Spouštění skriptů SQL na kontejneru dockeru

  3. chyba aktualizace záznamu v databázi

  4. Jak uložit název souboru do databáze s dalšími informacemi při nahrávání obrázku na server pomocí PHP?