當從ajax返回時, 我應該返回爲json編碼,並使用jquery.parseJSON 並使用document.createElement並在剛剛創建的Element內追加數據。jquery ajax - 返回json或純html更好
或者最好是返回html文本?
例如,
<div id="contentcontainer"></div>
$.ajax({
type: "POST",
url: "some.php",
data: "name=John",
success: function(msg){
msgObj = jquery.parseJSON(msg);
var div = document.createElement('div');
div.style.color="red";
$(div).append(msgObj.name);
$('#contentcontainer').append(div);
}
});
//some.php
if($_POST['name']){
echo json_encode(array('name'=>$_POST['name']));
}
,或者我應該做這樣嗎?
<div id="contentcontainer"></div>
$.ajax({
type: "POST",
url: "some.php",
data: "name=John",
success: function(msg){
$('#contentcontainer').append(msg);
}
});
//some.php
if($_POST['name']){
echo '<div style="color:red">'.$_POST['name'].'</div>';
}
Ammended ......對不起,我的語法錯誤
當然,這只是一個例子,真正的情況下,將有大量的數據,可能會以HTML表格形式。
當然,這只是一個例子,真實情況下它會有很多數據。
如果它有很多數據,那麼我需要寫很多document.createElement()。 它消耗的時間像這樣寫 document.createElement('table'); document.createElement('tr');
,而不是(返回HTML和剛剛在容器附加)
對於我來說,我認爲第二格式(返程HTML)比較容易。
但不知道性能明智,哪個更好?
請指教。
JSON。因爲它會減少您的帶寬並將您的數據與演示文稿分開。另外,硬編碼樣式是一個壞主意。 – 2010-11-13 05:47:51
我不認爲它會減少帶寬。uniqsign說:「當然,這僅僅是一個例子,實際情況是它會有很多數據,可能是html表格格式。」,你建議將HTML封裝到JSON中,這實際上會佔用更多的帶寬。 – 2010-11-13 05:52:05
對不起,我的錯誤,我並不打算將HTML封裝爲JSON, 我的意思是說如果它有很多數據,可能對我來說寫起來更容易