2011-09-27 48 views
2

所以通常有兩種方法可以爲AJAX請求返回數據。既可以作爲數據集,也可以作爲隨時可以添加的DOM元素。爲異步請求構建HTML數據的另一種方法

1:數據組

echo json_encode(array(
    'status'=>200, 
    'meta' => 'associated info', 
    'id'=> 123, 
    'data' => "<div>some stuff to add to the page</div>" 
)); 

2:HTML

<?php function ajaxRequest() { ?> 
    <div>some stuff to add to the page</div> 
<?php } ?> 

有沒有辦法使用這兩種方法的混合體?我懷疑它,但我可以將外部的php html內容嵌入到數據集中嗎?而不是輸出,它的任何方式爲變量輸入?

基本上我想建立沒有任何字符串建設的HTML。 像這樣的東西(這顯然不會工作):

<?php function ajaxRequest() { 
    return json_encode(array(
     'status'=>200, 
     'meta'=>'associated_info', 
     'id'=>123, 
     'data'=> 
     ?> 
    <div>some stuff to add to the page</div> 
<?php 
    )); 
    } 
?> 

所以 - 是有辦法,我懷疑由於內容所居住的PHP部分外,有這樣的內容返回到PHP?

回答

2

使用ob_start()ob_get_clean()在換你生成HTML創建一個字符串,像這樣:

<?php 
ob_start(); 
?> 
<div>Stuff</div> 
<?php 
$var = ob_get_clean(); 
+0

耶穌,嚴重?謝謝你,兄弟! – Atticus