【问题标题】:Jquery and Ajax internal server error 500Jquery 和 Ajax 内部服务器错误 500
【发布时间】: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 调用)并确认其响应符合预期。

标签: php jquery ajax lamp


【解决方案1】:

以下行中的语法错误:-

$row = mysqli_fetch_array($result));

应该是:-

$row = mysqli_fetch_array($result);

下面mysqli_fetch_array()同样的错误

您更正的代码块是:-

$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'];

【讨论】:

  • 不错,但作为the code used to work,这可能不是原因。
  • 我很确定这是唯一的问题:)
  • 有可能,你得到了我的投票,但我仍然想知道 OP 的变量来自哪里 ;-)
  • @jeroen:我已经编辑了问题。现在变量也会出现。它处于隐藏模式:)。在我的编辑被批准后,它将显示有问题。
猜你喜欢
  • 2019-12-10
  • 1970-01-01
  • 1970-01-01
  • 2013-02-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-10
  • 1970-01-01
相关资源
最近更新 更多