Estoy creando un sitio web usando (reaccionar para el sitio web) que quería obtener los datos de mi servidor en blueHost usando php como back-end y reaccionar (JavaScript) como front-end
Tengo un problema que no puedo cargar el caso de datos de mi archivo. php se ha bloqueado debido a Access control allow Origin
alguna idea de como se puede solucionar este problema?
aquí está mi código app.js (reaccionar)
const getData = async () => { fetch(URL,{ mode:'cors', headers : { 'Content-Type' : 'application/x-www-form-urlencoded; charset=UTF-8', 'Access-Control-Allow-Origin': '*', 'Access-Control-Allow-Origin': 'http://localhost:3004', 'Access-Control-Allow-Methods': 'GET', 'Content-type': 'application/json; charset=UTF-8', 'Access-Control-Allow-Headers':'Origin, X-Requested-With, Content-Type, Accept', 'Access-Control-Request-Headers': 'x-token' } }) .then((response) => response.json()) .then((json) => console.log(json.flags)) .catch((error) => console.log(error)) .finally(() => console.log(false));}
y aquí está mi archivo.php
<?php include 'DBConfig.php'; $conn = new mysqli($HostName, $HostUser, $HostPass, $DatabaseName); header('Access-Control-Allow-Origin: *'); header("Access-Control-Allow-Methods: GET, POST, OPTIONS, PUT, DELETE"); header("Access-Control-Allow-Headers: Content-Type, Access-Control-Allow-Headers, X-Requested-With"); $json = file_get_contents('php://input'); $obj = json_decode($json, true); if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } $sql = "SELECT * FROM `Transactions`"; $result = $conn->query($sql); if ($result->num_rows >0) { while($row[] = $result->fetch_assoc()) { $tem = $row; $json = json_encode($tem); } } else { $json = json_encode("false"); } echo $json; $conn->close(); ?>alguna idea de como puedo solucionar este problema?
este error se debe a un código de ejecución en local. para arreglar esto. debe agregar esta extensión en google chrome. (Permitir CORS: Access-Control-Allow-Origin) luego enciéndalo y apáguelo. Luego enciéndalo nuevamente y pruebe su código.