我创建了一个小应用程序,它可以访问 amazon api 并获取 asin 和其他一些东西。这在我的本地主机上工作得很好,但是,一旦将它放入 heroku 中,它似乎就停止工作了。
我收到这个错误:
GET https://efreiner1-qn.herokuapp.com/printDatabase.php 500 (Internal Server Error)
和这个堆栈跟踪
send @ jquery-3.1.1.js:9536
ajax @ jquery-3.1.1.js:9143
display @ main.js:11
(anonymous) @ main.js:7
mightThrow @ jquery-3.1.1.js:3570
process @ jquery-3.1.1.js:3638
读取 php 文件似乎有错误,我已经需要将它从/php/file.php 移动到主文件夹,但它仍然无法正常工作。
但是,我得到的响应是一个 css 响应,我将其粘贴在 php 文件之上,因此我知道它命中了它。 这是我拍摄的 2 个屏幕截图,可能会有所启发。
这是在本地主机上运行的 PHP 文件
<style type="text/css">
#table
{
font-family: "Lucida Sans Unicode", "Lucida Grande", Sans-Serif;
font-size: 12px;
margin: 45px;
width: 480px;
text-align: left;
border-collapse: collapse;
}
th
{
padding: 8px 2px;
font-weight: normal;
font-size: 14px;
border-bottom: 2px solid #5264AE;
border-right: 30px solid #5264AE;
border-left: 30px solid #5264AE;
color: #FFFFFF;
}
td
{
padding: 12px 2px 0px 2px;
border-right: 30px solid #5264AE;
border-left: 30px solid #5264AE;
color: #FFFFFF;
}
</style>
<?php
include_once('configDB.php');
$result = mysql_query("SELECT asin, title, mpn, price FROM amazon");
echo "<table id='table'>";
echo "<tr>";
echo "<th>ASIN</th>";
echo "<th>Title</th>";
echo "<th>MPN</th>";
echo "<th>Price</th>";
echo "</tr>";
while ($row = mysql_fetch_array($result)) {
echo "<tr>";
echo "<td>".$row{'asin'}."</td>";
echo "<td>".$row{'title'}."</td>";
echo "<td>".$row{'mpn'}."</td>";
echo "<td>". $row{'price'}."</td>";
echo "</tr>";
}
echo "</table>";
?>
在我看来,这可能是 ajax 的问题,我不确定,这是 ajax 请求
$.ajax({
url: 'printDatabase.php',
complete: function(response) {
$('#left').html(response.responseText);
},
error: function(result) {
$('#left').html(result);
}
});
谢谢,我希望这是足够的信息
最佳答案
我已经解决了这个问题。
问题是我使用的是 mysql()
而不是 mysqli()
我本地主机上的 php 版本比服务器上的版本旧,因此可以在我的机器上运行但是不在服务器上
关于php - 使用带有 ajax 请求的 cleardb 和 php 的 heroku 上的 500(内部服务器错误),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42805138/