【发布时间】:2013-12-07 16:19:06
【问题描述】:
我在 ajax 调用中收到内部服务器错误 500。我正在使用 LAMP 堆栈作为我的服务器,并且我已经检查了权限,所以这不会是我的错误。
这是我的 javascript 代码:
//$('#addAthleteForm').trigger("reset");
//$(document).ready(function() {
$(function () {
$("#dialog").dialog({
autoOpen: false,
maxWidth: 600,
maxHeight: 500,
width: 500,
height: 460,
close: function () {
$('#addAthleteForm').trigger("reset");
}
});
$("#addAthlete").on("click", function () {
$("#dialog").dialog("open");
});
$("#addAthleteForm").submit(function (e) {
e.preventDefault();
var postData = jQuery(this).serialize();
$("#dialog").dialog("close")
$.ajax({
type: "POST",
url: "AddAthletes.php",
dataType: 'json',
data: postData,
success: function (data) {
alert(data);
},
error: function (jqXHR, exception) {
if (jqXHR.status === 0) {
alert('Not connect.\n Verify Network.');
} else if (jqXHR.status == 404) {
alert('Requested page not found. [404]');
} else if (jqXHR.status == 500) {
alert('Internal Server Error [500].');
} else if (exception === 'parsererror') {
alert('Requested JSON parse failed.');
} else if (exception === 'timeout') {
alert('Time out error.');
} else if (exception === 'abort') {
alert('Ajax request aborted.');
} else {
alert('Uncaught Error.\n' + jqXHR.responseText);
}
}
});
});
$("#editAthlete").submit(function (e) {
e.preventDefault();
var editData = jQuery(this).serialize();
$.ajax({
type: "POST",
url: "GetAthlete.php",
dataType: 'json',
data: editData,
success: function (data) {
var form = document.forms['addAthleteForm'];
form.fname.value = data.fname;
form.lname.value = data.lname;
form.school.value = data.school;
form.agegrp.value = data.agegrp;
}
});
$("#dialog").dialog("open");
});
})
这是我的 php 代码:
<?php
$fname = $_POST['fname'];
$lname = $_POST['lname'];
$school = $_POST['school'];
$agegrp = $_POST['agegrp'];
$db = mysqli_connect("localhost", "root", "passwrd","site");
if(!$db){
exit("Error in database connection");
}
else{
$result = mysqli_query($db, "SELECT * FROM `School` WHERE `SchoolLong`='$school'");
$row = mysqli_fetch_array($result));
$SchoolID = $row['SchoolID'];
$result = mysqli_query($db,"SELECT * FROM `AgeGroup` WHERE `AgeGroupLong`='$agegrp'");
$row = mysqli_fetch_array($result));
$AgeGroupID = $row['AgeGroupID'];
mysqli_query($db, "INSERT INTO `Athlete` (`NameFirst`,`NameLast`, `SchoolID`, `AgeGroupID`) VALUES ('$fname', '$lname', $schoolID, $agegrpID)");
}
echo json_encode($fname);
?>
我不确定这个错误是从哪里来的。该代码用于工作。
【问题讨论】:
-
查看服务器错误日志以获取有关 500 的更多详细信息。
-
转到您的 PHP 页面(不是通过 ajax 调用)并确认其响应符合预期。