2013-11-22 4 views
0

아약스 호출시 내부 서버 오류 500이 발생합니다. 내 서버로 램프 스택을 사용하고 있으며 내 오류가 될 수 있도록 사용 권한을 확인했습니다. 여기Jquery 및 Ajax 내부 서버 오류 500

//$('#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); 
?> 

여기 내 자바 스크립트 코드입니다. 작업에 사용 된 코드. 아래 줄에

+3

서비스를 확인하십시오. r에 대한 자세한 내용은 오류 로그를 참조하십시오. –

+0

PHP 페이지로 이동하여 (아약스 호출이 아닌) 예상대로 응답하는지 확인하십시오. – Moob

답변

2

구문 오류 : -

$row = mysqli_fetch_array($result)); 

그것은해야한다 : - 코드의 아래 mysqli_fetch_array()

귀하의 수정 블록

$row = mysqli_fetch_array($result); 

같은 실수는 다음과 같습니다 -

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

그럴 것이다. – Moob

+0

멋지다.하지만 '작동하는 데 사용 된 코드'는 아마도 그 원인이 아닙니다. – jeroen

+0

나는 이것이 유일한 문제라고 확신한다. :) – Roopendra