【发布时间】:2018-09-20 03:04:01
【问题描述】:
我有一个仅在 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 文件如何将数据发送到数据库等) 提前致谢。
【问题讨论】:
标签: javascript google-chrome google-chrome-extension xmlhttprequest