这种工作流程的最佳做法是什么?
例如,我有以下html页面结构:
<div id="one">
<span id="sp1"></span>
<span id="sp2"></span>
...
<div id="inner"></div>
...
</div>
使用以下jquery代码将html数据填充到div #one:
中$.get('/scripts/contajax.php', function(data){
var addhtml = data,
sp1cont = addhtml.replace(/.*<sp1>(.*)</sp1>.*/,'$1'),
sp2cont = addhtml.replace(/.*<sp2>(.*)</sp2>.*/,'$1'),
inncont = addhtml.replace(/.*<inn>(.*)</inn>.*/,'$1');
$('#sp1').html(sp1cont);
$('#sp2').html(sp2cont);
$('#inner').html(inncont);
});
基本上,/ script / signjax.php生成html代码:
<sp1>...</sp1><sp2>...</sp2><inn>...</inn>
然后查询解析此代码并将块插入HTML页面。 我使用正确的方法吗?还是有更好的解决方案?
答案 0 :(得分:1)
JSON和XML是这项工作的最佳选择。
由于我不太了解如何处理XML,我将尝试解释JSON的用法。
在contajax.php
中,使用适当的数据填充数组:
$myArray = array();
$myArray["sp1"] = "sp1Content"; // no html tags, just values
$myArray["sp2"] = "sp2Content";
$myArray["inn"] = "innContent";
等等。之后,将数组打印为json:
echo json_encode($myArray);
在您的脚本中,调用.getJSON()
而不是.get()
并将值插入html,如下所示:
$.getJSON('/scripts/contajax.php', function(data){
$('#sp1').html(data.sp1);
$('#sp2').html(data.sp2);
$('#inner').html(data.inn);
}
您可以随时在data
JSON.stringify(data);
,在控制台中看到getJSON