2014-11-14 55 views
0

我做了一個基本的AJAX函數調用一個php文件。響應是一個HTML插入我的主頁「內容框」AJAX發送和接收不同的數據類型

function LoadAjax_alert_display_one(){ 
    id_alert = <?php echo $id_alerte; ?>; 
    $('.preloader').show(); 
    $.ajax({ 
     mimeType: 'text/html; charset=utf-8', // ! Need set mimeType only when run from local file 
     url: 'ajax/alert_display_one.php', 
     data: "id_alerte="+id_alert, 
     type: 'GET', 
     success: function(data) { 
      $('#ajax-content').html(data); 
      $('.preloader').hide(); 
     }, 
     error: function (jqXHR, textStatus, errorThrown) { 
      alert(errorThrown); 
     }, 
     dataType: "html", 
     async: false 
    }); 
} 

這工作正常。該文件名爲「alerts_create.php」也runinng一個PHP從數據庫中獲取數據,並使用while循環它

while ($stmt->fetch()) { 
    echo "<tr>"; 
     echo "<td><a href='#' onclick='LoadAjax_alert_display_one();'>" . $nom_alerte . "</a></td>"; 
     echo "<td>" . $country . "</td>"; 
    echo "</tr>"; } 

我的問題是,我無法正常通過我在while循環創建鏈接顯示。 $ nom_alerte總是取循環的最後一次迭代的值。所以我的AJAX以此爲鏈接價值; 任何想法我可以做到這一點?

爲了清晰我的標題:我的問題是發送一個PHP變量到被調用的文件('alerts_create.php')並檢索一個HTML結果。

SOLUTION:剛剛到PHP變量傳遞的AJAX功能參數:

function LoadAjax_alert_display_one(id_alerte){ 
     $('.preloader').show(); 
    $.ajax({ 
     mimeType: 'text/html; charset=utf-8', // ! Need set mimeType only when run from local file 
     url: 'ajax/alert_display_one.php', 
     data: "id_alerte="+id_alerte, 
     type: 'GET', 
     success: function(data) { 
      $('#ajax-content').html(data); 
      $('.preloader').hide(); 
     }, 
     error: function (jqXHR, textStatus, errorThrown) { 
      alert(errorThrown); 
     }, 
     dataType: "html", 
     async: false 
    }); 
} 
+0

php文件使用在循環中創建數組然後傳入json格式並將其解碼爲ajax成功函數 – 2014-11-14 13:20:15

+0

有沒有爲什麼你不使用.load()從jquery(因爲你已經使用jQuery)? – Markai 2014-11-14 13:21:54

+0

@AghaUmairAhmed:謝謝你的回答;我顯然不夠好實施它。你會如此友善地給我一個例子。 – 2014-11-14 13:28:20

回答

1

使用這樣的

<script type="text/javascript"> 
var data = 'abc=0'; 
$.post(
    'yoururl.php', 
    data 
).success(function(resp){ 
    var json = $.parseJSON(resp); 
    console.log(json); 
}); 

,並在這樣

while($stmt->fetch()) { 
    $data[] = array(
    'link' => 'your link' 
    ); 
} 

echo json_encode($data); 
+0

感謝您抽出時間。我會盡力,但我仍然有點失落。無論如何;再次感謝 – 2014-11-14 13:42:35