Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Wysyłanie danych z Reacta do MySQL

Musisz wyizolować problem, sprawdzając najpierw, czy Twój punkt obsługi ma włączony mechanizm CORS. Aby skupić się wyłącznie na funkcjonalności CORS, tymczasowo usunę kod 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');
 });

Gdy serwer nasłuchuje na porcie 3300, uruchom następujące polecenie PREFLIGHT na terminalu.

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

Jeśli żądanie inspekcji wstępnej się powiedzie, odpowiedź powinna zawierać:Access-Control-Allow-Origin, Access-Control-Allow-Methods i Access-Control-Allow-Headers

Teraz uruchom metodę POST.

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

Jeśli żądanie post się powiedzie, odpowiedź powinna zawierać Access-Control-Allow-Origin

Jeśli wszystko wygląda dobrze, Twój serwer jest w porządku. Następnie musisz wypróbować metodę publikowania z aplikacji na iOS.

NOTATKA. Byłbym również podejrzliwy wobec używania cors na localhost. Zmapowałbym 127.0.0.1 na domenę, a następnie aplikacja używałaby tej domeny. Jeśli jesteś na Linuksie lub Macu, modyfikujesz /etc/hosts. W systemie Windows jest to c:\windows\system32\drivers\etc\hosts



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Korzystanie z RESTful API dla dynamicznych witryn

  2. Unikanie pojedynczych cudzysłowów w JDBC za pomocą MySql

  3. Jak prawidłowo unikać warunków wyścigu Mysql?

  4. Host „xxx.xx.xxx.xxx” nie może połączyć się z tym serwerem MySQL

  5. zapytanie o zestaw w relacyjnej bazie danych