我有一个只在Facebook上运行的Chrome扩展程序,我正在尝试将扩展程序收集的数据发送到我在GoDaddy网站服务器上的MySQL数据库。我一直收到错误消息“无法加载资源:服务器响应状态为500(内部服务器错误)”。我不确定问题是什么,因为我刚刚开始进行Web开发。 这是我的chrome扩展程序上的内容脚本的代码:
var dummyUrl = new URL ("http://www.bbc.com/news/world-us-canada-41081629");
console.log("dummyUrl: " + dummyUrl);
//Create XMLHttpRequest Object
var xhttp = new XMLHttpRequest();
//Send request
xhttp.open("POST", "https://pocketchange.social/data.php", true);
xhttp.send(dummyUrl);
这是我的网络服务器上的PHP文件,它运行查询以将数据发送到我的数据库:
<?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();
?>
我的问题主要是我正在尝试将数据发送到完全不同的服务器吗?我不是很清楚所有这些部分如何相互通信(例如,chrome扩展如何知道如何连接到GoDaddy服务器,以及php文件如何将数据发送到数据库等等) 提前谢谢。
答案 0 :(得分:0)
关于&#34; 500(内部服务器错误)&#34;,这个突出显示的SO post可以给你一些想法。
500代码通常表示服务器上有错误,而不是 任何与您的代码。一些想法
- 与服务器开发人员联系以获取更多信息。您无法直接获得更多信息。
- 验证您在调用中的参数(值)。寻找您认为可能导致服务器进程出现问题的任何内容。这个过程 不应该死,应该给你一个更好的代码,但错误发生 还有。
- 可能是间歇性的,就像服务器数据库发生故障一样。可能值得在另一个时间尝试
您也可以在帖子中查看可能的答案。
希望这有帮助。
答案 1 :(得分:-1)
您可以尝试将值"dummyUrl: "
更改为"dummyUrl="
。
console.log("dummyUrl=" + dummyUrl);