2013-07-05 31 views
0

$這裏我發送的PHP代碼這段代碼的主要功能是從數據庫中提取數據,並將其發送迴響應AJAX的jQuery $如何顯示從PHP文件

<?php 
$host="localhost"; 
$user="root"; 
$database="testme"; 
$password=""; 

$connect=mysql_connect($host,$user,$password); 

$data= mysql_select_db($database,$connect); 

// executing the query 
$identity=$_REQUEST['id']; 

$query="SELECT * FROM student_demo WHERE id=1"; 
$getdata=mysql_query($query); 

$get_row1=mysql_fetch_array($getdata); 

$data1=array('value1' => $get_row1[0], 
     'value2' => $get_row1[1], 
     'value3' => $get_row1[2], 
     'value4' => $get_row1[3]); 

    print json_encode($data1); 


?> 

$現在我發送正在接收響應Jquery的Ajax代碼,比dislyaing在HTML的div標籤內容$

$.ajax({ 
      url:'process.php', 
      dataType:'json', 
      success: function(data) 
      { 
       $("#id").append(data.value1); 
       alert(data.value1); 
      } 
    }); 

$現在的問題是提得添加到#ID字段中Html文件$

+3

「i」的定義在哪裏? –

+0

確實顯示內容? – Headshota

+0

@MatteoRiva是對的。我現在沒有什麼事情了。嘗試追加數據 –

回答

0

$data1陣列添加數據這樣

$data1=array('value1' => $get_row1[0], 
    'value2' => $get_row1[1], 
    'value3' => $get_row1[2], 
    'value4' => $get_row1[3]); 

而且在Ajax響應,你可以得到的JSON編碼就像你沒有使用任何地方$identity

$.ajax({ 
     url:'process.php', 
     dataType:'json', 
     success: function(data) 
     { 
      $("#id").append(data.value1); 
      alert(data.value1); 
     }, 
     error: function(jqXHR, textStatus, errorThrown) 
     { 
      alert(textStatus + errorThrown); 
     } 
}); 
+0

先生沒有任何事情發生......我甚至沒有收到警報消息。 –

+0

@ user1334573這是因爲EdsonMedina的答案是正確的。 –

+0

你能夠在瀏覽器控制檯中看到ajax請求嗎?或通過刪除/註釋以下代碼測試代碼 $(「#id」)。append(data.value1); – Yogesh

0

確定,第一件事就是數據。 無論如何,當你在js變量數據中得到響應時,那麼你需要解析編碼字符串,如 var obj = jQuery.parseJSON(data); alert(obj.0);

試試這可能對你有幫助。

+0

如果您在ajax調用中指定'datatype:'JSON'',jquery會自動執行JSON解析 –

0
$getdata=mysql_query($query); 
$resultSet = array(); 
if($getdata){ 

    while($resultRow = mysql_fetch_assoc($getdata)){ 
     $resultSet[] = $resultRow; 
    } 
} 
echo json_encode($resultSet); 

Jvascript代碼

$.ajax({ 
    url:'tt.php', 
    dataType:'json', 
    success: function(data) 
    {     
     $.each(data, function(i, item) { 
      // do your coding here 
        $.each(data, function(i, item) { 
       var tmpRowData = data[i]; 
      $.each(tmpRowData, function(columnName, columnValue) { 
      console.log(columnName+' = '+columnValue); 
      }); 
     }); 
     }); 
    } 
}); 
+0

什麼是函數(i,item) –

+0

意味着什麼是正在傳遞的參數 –

+0

我更新了jQuery的每個函數以上代碼。現在瀏覽器的控制檯必須顯示列名和它的值 – Yogesh

0

我的答案是沒有直接回答你的問題。但它會幫助你找到問題。

嘗試使用谷歌開發工具或Firefox的螢火蟲附加組件。那些會告訴你,如果你有任何JavaScript錯誤。

根據你的代碼,你可以使用相關的工具。首先檢查您的Ajax請求是否正在生成。如果它沒有生成,你可能會有javascript錯誤。如果它正在生成檢查你得到的響應。如果你收到適當的JSON響應,你可以通過評論$("#id").append(data.value1);來檢查它。既然你已經添加了一個警報,它應該工作,如果你得到正確的答案。

如果工作正常,請檢查您的DIV是否正確命名了ID屬性或任何HTML語法錯誤。

如果您沒有得到正確的迴應,問題出在PHP代碼上。現在嘗試調試你的php代碼。

$get_row1=mysql_fetch_array($getdata); 
print_r($get_row1); 
exit; 

您是否按照需要獲取打印的數據數組?如果不是,它應該可能是您的SQL或數據庫的問題。

您可以檢查mysql錯誤日誌和apache錯誤日誌,以查找是否有任何PHP或mysql錯誤發生。只需遵循一些調試,您將能夠找到問題你自己,至少發生錯誤,客戶端或服務器端,如果你發現社區會給你更多的支持,因爲每個人都明白問題出在哪裏。