2011-10-13 45 views
0

我有一個jQuery調用一些PHP的工作正常。我想要做的是使用echo語句從php中輸出特定div的新內容。那可能嗎?如何讓我的jQuery AJAX php代碼更新div?

以前我用來返回使用JSON編碼這樣的div的新內容:

$rows = array(); 
while($r = mysql_fetch_assoc($result)) 
{ 
     $rows[] = $r; 
} 

echo json_encode($rows); 

但現在我想調用它用於其他地方創造的div內容的PHP函數,我想那成爲這些div內容製作的唯一地方。

是否可以做我正在嘗試的?

謝謝!

+0

你是什麼意思「這是在其他地方使用,以創建div元素PHP函數」是什麼意思? –

回答

1

是的,這是可能的。請記住,jQuery success函數的參數包含後端腳本的所有輸出。只需將所需容器的html替換爲參數的內容即可。

PHP(someUrl.php):

echo('<div>Hello World!</div>'); 

的JavaScript

var YourDataString = ''; 
$.ajax({ 
    type: 'GET', 
    url: 'someUrl.php', 
    data: YourDataString, 
    success: function(html) { 
     $('#someContainer').html(html); 
    } 
}); 

這將使 '<格>的Hello World </DIV >' 元素的內部與id:someContainer

編輯

當我有問題(一樣的東西沒有出現)與AJAX請求時,它可以幫助我,如果我訪問我直接打電話給正在生成的內容輸出的頁面。如果我沒有打開錯誤報告,並且我什麼都看不到,但是我知道我的PHP中有一個錯誤,並且沒有任何內容正在輸出。

您可以嘗試開啓腳本中的錯誤報告以查看是否有錯誤。如果找不到,請將您的整個腳本註釋掉,然後在其中放入一個echo('I am here!');,然後查看是否可以將其寫入您的頁面。如果確實如此,那麼你知道在你的PHP 的地方有一個錯誤

你也可以看看你的瀏覽器的錯誤控制檯,看看你的JavaScript是否拋出任何錯誤。如果你還不能完全圍繞它的話,先試試一個更簡單的例子。上面的代碼應該可以工作。

+0

很酷,現在嘗試你的建議.... – GeekedOut

+0

我認爲它沒有工作。在PHP中,我確實希望看到HTML變量中的JavaScript,但我認爲沒有任何內容會顯示出來。 – GeekedOut

+0

發送get和post請求之間的區別在這裏嗎? – GeekedOut

0
$rows = array(); 
while($r = mysql_fetch_assoc($result)) 
{ 
     $rows[] = $r; 
} 

echo json_encode($rows); 
die();enter code here 

you need to die() or exit