我在本地运行 MAMP 并尝试使用 jQuery$.post()
将一些数据发送到 PHP 脚本,但是当函数触发时,我收到 500 错误:POST http://localhost:8888/app_name/php/add_new_class.php 500 (Internal Server Error)
我对 PHP 相当陌生,但对基本的 ajax 比较熟悉。我在代码中做错了吗?它是服务器配置/权限的事情吗?我可以提供更多信息来提供帮助吗?提前致谢。
相关HTML:
<ul>
<li><a href="#" id="addclass" >Add Class</a></li>
<li><a href="#rubric">Rubric</a></li>
</ul>
相关的 JavaScript:
$(document).ready(function() {
$(document).on('click', '#addclass', addNewClass);
});
function addNewClass() {
var newClass = prompt('Enter new class name:').trim()
if ( (newClass != null) && (newClass != '') ) {
$.post('php/add_new_class.php', {post_class_name:newClass}, function(data) {
alert(data);
});
} else {
alert('You didn\'t enter any text. Please enter a valid class name.');
}
}
相关PHP:
<?php
require_once 'db_connect.php';
$class_name = $_POST['post_class_name'];
$query = sprintf("INSERT INTO classes (class_name) VALUES ('%s');",
mysql_real_escape_string($class_name));
mysql_query($query)
or die(echo mysql_error());
echo 'success';
?>
编辑:
这是我的一个简单的 PHP 错误。作为 PHP 新手,我不知道 500 内部服务器错误可能表明这一点,也没有在错误日志中找到有用的描述。错误在
mysql_query($query)
or die(echo mysql_error());
这echo
在声明中是不必要的die
,并导致它失败。