2013-10-29 84 views
0

我已經試過幾乎所有的解決方案,我知道如果我在PHP硬編碼,因此問題被返回的值或者確定是否它實際上是作爲後發我的數據庫返回的值。它到達成功函數併發出警告Worked,但我對ItemID沒有定義。訪問數據與阿賈克斯

$(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」,'到'類型:「POST」,'並開始面掌。我已經面對這個問題在大聲笑 – MonkeyZeus

+0

之前,你爲什麼在你做ajax GET時看@ @ _POST'? –

+0

甲遠遠優於調試工具是'的console.log();'由在配合使用控制檯窗口在任何現代瀏覽器,例如IE8和向上的方式。不要對網絡標籤陌生,要麼因爲美麗的和諧。在你的情況,你會怎麼做'的console.log(數據);',而不是'警報( 「保護正常工作」);'你的AJAX成功處理程序 – 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; 
});