2013-10-29 6 views
0

나는 거의 모든 솔루션을 시도했으며 PHP에서 하드 코드로 값을 반환하거나 실제로 게시물로 보내지는지 결정할 때 데이터베이스에서 값을 반환한다는 것을 알고 있습니다. 성공 함수에 도달하고 Worked를 경고하지만 Item ID에 대해 정의되지 않은 상태가됩니다.Ajax를 사용하여 데이터베이스에서 데이터 액세스

$(document).ready(function() { 

$('.check').click(function(){ 
alert("Step1"); 
var thisID = $(this).attr('id'); 
alert(thisID); 
$.ajax({ 
    type: "GET", 
    url: "XXX.PHP", 
    data: { "ID": thisID}, 
    cache: false, 
    async:true, 
    datatype: "json", 
    success: function(data) 
    { 
     alert("WORKED"); 
     alert(data.ItemID); 
    } 

}); 
}); 
}); 

다음은 PHP

if(isset($_POST['ID'])) 
{ 
$ID = $_POST['ID']; 
function retrieve($ID) 
{ 
$stmt = $mysqli->query("SELECT * FROM database1.menu WHERE ItemID = $ID"); 

if($stmt->num_rows) //if there is an ID of this name 
{ 
$row = $stmt->fetch_assoc(); 
echo $row; 
print json_encode($row); 

} 
} 
+0

스위치 유형 : "GET", "to"유형 : "POST"및 'face-palm'을 시작하십시오. 나는이 문제에 대해 얼굴이 답답해하기 전에 – MonkeyZeus

+0

왜 AJAX GET을 할 때 @'_POST'를보고 있는가? –

+0

훨씬 뛰어난 디버깅 도구는 IE8 이상의 최신 브라우저에서 콘솔 창과 함께 사용되는 방식으로'console.log();'입니다. 아름다운 하모니가 만들어지기 때문에 네트워크 탭에 낯선 사람이되지 마십시오. 귀하의 상황에서는 AJAX 성공 처리기에서'alert ("WORKED"); 대신'console.log (data);를 사용하십시오 – MonkeyZeus

답변

0

당신이 뭔가를 시도 할 수있다. 이것이 필요한 것인지 확실하지 않습니다.

$(".check").click(function(event){ 
    event.preventDefault(); 
     var $this = $(this); 
     var thisID = $this.attr('id'); 

     $.ajax({ 
      type: "POST", 
      url: base_url + "url.php", 
      data: { 
       id: thisID   
      }, 
      dataType: "text", 
      cache:false, 
      success: 
       function(data){ 
       alert(data); 
       } 
     }); 

    return false; 
}); 
관련 문제