2016-06-13 27 views
0

我有一個「抽取table.php」文件,這是建立這樣的:基於PHP文件建立一個表AJAX

<?php 

    function build_table($draw-me) { 

     $html_output = "<html><tr><td>".$draw-me."</td></tr></html>"; 

     echo $html_output; 

    } 

?> 
與我jQuery文檔ID

現在喜歡把這個表確切地在一個明確的位置。做這個我必須交出變量$ draw-me,它包含一個數字。要做到這一點,我用下面的代碼:

<html> 
<div id="ajaxtest"></div> 
<div id="button" style="background-color:#00FFFF">klick me</div> 

<script type="text/javascript"> 
$hand-over = 1; 
$(document).ready(function(){ 
    $("#ajaxtest").click(function(){ 

     $.ajax({ 
       type: 'POST', 
       url: 'draw-table.php', 
       success: function(data) { 
       $("ajaxtest").html($hand-over); 
      } 
     }); 
    }); 
}); 
</script> 
</html> 

我也真的不知道是echo命令是解決這個還是我應該使用一個返回值的最佳方式?

感謝您的幫助。

+4

呼應HTML應該工作正常*,但你有幾個語法問題。你的PHP代碼缺少關閉''',而你的jQuery對象中的選擇器不正確,你還應該使用'html()'方法來追加響應,因爲'text()'將對HTML進行編碼。 HTML會起作用,通常認爲只需傳遞JSON數據,然後在客戶端上構建表格的HTML即可,這樣可以減少必須在請求中發送的數據量,服務器必須執行的工作量,並使XSS稍微不太可能 –

+0

好的,我已經完成了這個建議,並編輯了我的帖子,但仍然沒有任何事情發生.. – HamburgIsNice

+0

看看我的回答,然後試着說我們發生了什麼事.. –

回答

0

試試這個,注意@Rory McCrossan他說

拉table.php

<?php 

    $drawme = $_POST['handover']; 
    echo $html_output = "<table border='1'><tr><td>".$drawme."</td></tr></table>"; 

?> 

的html代碼:

<!DOCTYPE html> 
<html> 
<head> 
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script> 

</head> 
<body> 
<button>Klick Me !</button> 
<div id="ajaxtest"></div> 
<script> 
    $(document).ready(function() { 
     $("button").click(function() { 
      $.ajax({ 
       type: 'POST', 
       url: 'draw-table.php', //compare this line with yours 
       data: {handover : 1}, 
       success: function (data) { 
        $("#ajaxtest").html(data); // and look at this line 
       } 
      }); 
     }); 
    }); 
</script> 
</body> 
</html> 
+0

太棒了,那個工作正常,我忘了o在draw-table.php中設置POST,並且還需要一個函數obsulet。最後一行「data:」和「success:」是什麼意思?它應該是數據:{越區切換:$越南} – HamburgIsNice

+0

數據是您發佈的變量,併成功返回發佈的文件內容到您的

行。意思是如果帖子成功返回draw-table.php的內容到
。 –

+0

Grat,如果我說數據:{handover:$ handover}和Prior我定義var $ handover = 2;那麼2是正確發佈:) – HamburgIsNice