sql >> Database >  >> RDS >> Mysql

Gegevens verzenden van React naar MySQL

U moet het probleem isoleren door eerst te controleren of uw servicepunt CORS ingeschakeld is. Om me uitsluitend op CORS-functionaliteit te concentreren, zou ik de MySQL-code tijdelijk verwijderen.

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

Als je een server hebt die luistert op poort 3300, voer je het volgende PREFLIGHT-commando uit op de 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

Als het preflight-verzoek succesvol is, moet het antwoord Access-Control-Allow-Origin, Access-Control-Allow-Methods en Access-Control-Allow-Headers bevatten

Voer nu de POST-methode uit.

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

Als het postverzoek succesvol is, moet het antwoordAccess-Control-Allow-Origin

. bevatten

Als alles er goed uitziet, is je server in orde. U moet dan de postmethode van uw iOS-app proberen.

OPMERKING. Ik zou ook verdacht zijn van het gebruik van cors op localhost. Ik zou 127.0.0.1 aan een domein toewijzen en de app in plaats daarvan dat domein laten gebruiken. Als u Linux of Mac gebruikt, wijzigt u /etc/hosts. Voor Windows is dit c:\windows\system32\drivers\etc\hosts



  1. Kan php PDO twee resultatensets ophalen? En zo ja, wat is beter 1 resultaatset of meer dan 1?

  2. Converteer datumnotatie naar DD/MMM/YYYY-formaat in SQL Server

  3. Arabisch opslaan in SQL-database

  4. Hoe kan ik sorteren op meerdere kolommen, maar niet op waarde?