by Guest » 22 Dec 2024, 20:04
Ich erstelle eine Chat-Anwendung mit PHP im Backend und React.js im Frontend. Allerdings stoße ich auf ein Problem mit der Abruf-API.
Mein Abruf, der einen Endpunkt aufruft
fetch('
http://localhost/registration-processing',{
method:'POST',
headers:{
'Content-Type':'application/json'
},
body:JSON.stringify({
firstName:firstName,
lastName:lastName,
username:username,
email:email,
password:password
})
})
.then((response)=>{
if(response.ok){
return response.json();
}
})
.then((data)=>{
console.log('Response:'+data);
})
.catch((err)=>{
console.error('Error is this:'+err);
})
Ich habe den Port nicht explizit in „localhost“ geschrieben, da Apache auf Port 80 läuft. Fetch hat vor der Installation von React, wo ich einfaches JS verwendet habe, absolut einwandfrei funktioniert.
Ich habe es mit der Verwendung von mode:'no-cors' beim Abruf versucht und erhalte eine erfolgreiche Antwort (.then wird ausgeführt, nicht „catch“), aber das Ergebnis ist Response:undefined, auch danach Ich habe es mit Echo versucht json_encode(object), um den Wert zurückzugeben, weil
ich denke, dass app.php nicht erreichbar ist, was für die Verarbeitung aller Routen und Abrufanfragen gedacht ist.
Ich habe versucht, .htaccess so zu konfigurieren, aber keine Ergebnisse
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /back-end/app.php [QSA,L]
Das ist meine Projektstruktur:
├── back-end/
│ ├── app.php
│ └── .htaccess
├── front-end/
│ ├── react-environment(where fetch is)
Also, nur um es näher zu erklären. Vorher habe ich einfaches JS für Abrufanfragen an das Backend verwendet, genauer gesagt app.php, und es hat gut funktioniert. Aber jetzt, da ich mein React mit create-react-app eingerichtet habe und wenn ich den Befehl „npm start“ ausführe, startet es die React App auf localhost:3000, aber das Backend (app.php) kann nicht erreicht werden von reagieren. Ich habe versucht, mit CORS zu experimentieren, aber keinerlei Änderungen.
Ich erstelle eine Chat-Anwendung mit PHP im Backend und React.js im Frontend. Allerdings stoße ich auf ein Problem mit der Abruf-API.
Mein Abruf, der einen Endpunkt aufruft
fetch('http://localhost/registration-processing',{
method:'POST',
headers:{
'Content-Type':'application/json'
},
body:JSON.stringify({
firstName:firstName,
lastName:lastName,
username:username,
email:email,
password:password
})
})
.then((response)=>{
if(response.ok){
return response.json();
}
})
.then((data)=>{
console.log('Response:'+data);
})
.catch((err)=>{
console.error('Error is this:'+err);
})
Ich habe den Port nicht explizit in „localhost“ geschrieben, da Apache auf Port 80 läuft. Fetch hat vor der Installation von React, wo ich einfaches JS verwendet habe, absolut einwandfrei funktioniert.
Ich habe es mit der Verwendung von mode:'no-cors' beim Abruf versucht und erhalte eine erfolgreiche Antwort (.then wird ausgeführt, nicht „catch“), aber das Ergebnis ist Response:undefined, auch danach Ich habe es mit Echo versucht json_encode(object), um den Wert zurückzugeben, weil [b]ich denke, dass app.php nicht erreichbar ist[/b], was für die Verarbeitung aller Routen und Abrufanfragen gedacht ist.
Ich habe versucht, .htaccess so zu konfigurieren, aber keine Ergebnisse
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /back-end/app.php [QSA,L]
Das ist meine Projektstruktur:
├── back-end/
│ ├── app.php
│ └── .htaccess
├── front-end/
│ ├── react-environment(where fetch is)
Also, nur um es näher zu erklären. Vorher habe ich einfaches JS für Abrufanfragen an das Backend verwendet, genauer gesagt app.php, und es hat gut funktioniert. Aber jetzt, da ich mein React mit create-react-app eingerichtet habe und wenn ich den Befehl „npm start“ ausführe, startet es die React App auf localhost:3000, aber das Backend (app.php) kann nicht erreicht werden von reagieren. Ich habe versucht, mit CORS zu experimentieren, aber keinerlei Änderungen.