我在本地运行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
,导致它失败。