我想使用JavaScript和jquery基于从数据库返回的信息构建一个HTML表。我有JSON和数据库正常工作,但我无法在我的页面上显示数据。使用函数使用Javascript设置变量?
这是代码显示的数据
var temp;
var init = function() {
$(_getMarketInfo()).appendTo(document.body);
// Used for logging
temp = $(_getMarketInfo());
console.log(temp);
};
然后获取和处理数据
function _getMarketInfo() {
$.ajax({
url:'scripts/db_getMarketInfo.cgi',
dataType:'json',
success:function(data, testStatus) {
var html = '';
html +='<div class="marketInfoHolder">';
html +='<table class="tbl" border=1>';
html +=' <tr><th>Market Information</th></tr>';
html +=' <tr><td>Market</td></tr>';
for (var i=0;i< data.marketInfo.length; i++){
html += '<tr><td>' + data.marketInfo[i].market_name + '</td></tr>';
}
html +='</table>';
html +='</div>';
//used for logging
console.log(html);
return html;
},
error:function(data, textStatus) {
alert('There was an error getting market information.');
}
});
};
据控制台日志,在html变量确实有正确的HTML代码表,但是当我查看temp变量时,它会记录为[]。看起来,由于某种原因,_getMarketInfo()不能正确地将html返回到temp。
我还建议jQuery.tmpl,如果你想更容易构建html – ullmark 2011-02-18 16:39:35