0

Ich habe eine Chrome-Erweiterung, die nur auf Facebook läuft und ich versuche, Daten zu senden, die die Erweiterung zu einer MySQL-Datenbank sammelt, die ich auf meinem GoDaddy-Website-Server habe. Ich bekomme immer die Fehlermeldung "Fehler beim Laden der Ressource: Der Server hat mit dem Status 500 (Interner Serverfehler) geantwortet". Ich war nicht sicher, was das Problem ist, da ich gerade in Web-Entwicklung bin. Hier ist mein Code für den Content-Skript auf meiner Chrome-Erweiterung:interner Serverfehler auf XMLHttpRequest

var dummyUrl = new URL ("http://www.bbc.com/news/world-us-canada-41081629"); 
 
\t \t console.log("dummyUrl: " + dummyUrl); 
 
\t \t //Create XMLHttpRequest Object 
 
\t \t var xhttp = new XMLHttpRequest(); 
 
\t \t //Send request 
 
\t \t xhttp.open("POST", "https://pocketchange.social/data.php", true); 
 
\t \t xhttp.send(dummyUrl);

Und hier ist meine PHP-Datei auf meinem Webserver, die eine Abfrage ausgeführt wird, die Daten zu meiner Datenbank senden:

<?php 
$mysqli = new mysqli("localhost", "Jarid", "Database", "myURL"); 

//Check connection 
if(mysqli === false) { 
    die("ERROR: Could not connect" . $mysqli->connect_error; 
} 

//Print host information 
echo "Connection successful. Host info: " . $mysqli->host_info; 

//Escape user inputs 
$url = $mysqli->real_escape_string($_REQUEST['url']); 
$description = $mysqli->real_escape_string($_REQUEST['description']); 
$keywords = $mysqli->real_escape_string($_REQUEST['keywords']); 
$content = $mysqli->real_escape_string($_REQUEST['content']); 
$language = $mysqli->real_escape_string($_REQUEST['language']); 

//Execute query 
$query = "INSERT INTO url_data (url, description, keywords, content, language) VALUES ('$url', '$description', '$keywords', '$content', '$language')"; 

//Checking to see if values were inserted properly 
if($mysqli->query($query) === true) { 
    echo "Data successfully inserted."; 
} 
else { 
    echo "ERROR could not execute query" . $mysqli->error; 
} 

$mysqli->close(); 
?> 

Ist mein Problem hauptsächlich, dass ich versuche, Daten an einen völlig anderen Server zu senden? Mir ist nicht klar, wie all diese Teile miteinander kommunizieren (dh wie kann die Chrome-Erweiterung mit dem GoDaddy-Server verbunden werden und wie genau sendet die PHP-Datei Daten an die Datenbank usw.) Danke im Voraus.

Antwort

0

In Bezug auf die "500 (Internal Server Error)", könnte dies markiert SO post könnte Ihnen eine Idee geben.

Der Code 500 würde normalerweise einen Fehler auf dem Server anzeigen, nicht irgendetwas mit Ihrem Code. Einige Gedanken

  • Sprechen Sie mit dem Server-Entwickler für weitere Informationen. Sie können nicht mehr Informationen direkt erhalten.
  • Überprüfen Sie Ihre Argumente in den Aufruf (Werte). Suchen Sie nach etwas, von dem Sie glauben, dass es für den Serverprozess ein Problem verursachen könnte. Der Prozess sollte nicht sterben und sollte Ihnen einen besseren Code zurückgeben, aber Fehler passieren dort auch.
  • Kann intermittierend sein, wie wenn die Server-Datenbank ausfällt. Kann zu einem anderen Zeitpunkt einen Versuch wert sein

Sie auch die Post für einige mögliche Antwort überprüfen.

Hoffe, das hilft.