我是一个新手,需要一个在 Ajax 成功调用中加载和刷新 jQuery 数据表的完整工作示例。我想打开一个对话框,其中加载了 jquery 数据表。仅当 ajax 结果返回多条记录时,该对话框才应打开。
这是对话框 HTML:
<div id="rfrList" title="Referring Providers">
<table cellpadding="0" cellspacing="0" border="0" class="display" id="rfrListTable">
<thead>
<tr>
<th width="70%">Name</th>
<th width="25%">NPI</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
这是我的 Ajax 调用:
$.ajax({
type: 'POST',
url: '/ajax/rfr_list.php',
data: {"name": name},
cache: false,
success: function(data){
var rfrRows = $.parseJSON(data);
if(rfrRows.length == 1){
$("#referring_text").val(rfrRows[0].name);
$("#referring_npi").val(rfrRows[0].npi);
}else{
$( "#rfrList" ).dialog("open");
var $rfrTable = $('#rfrListTable').dataTable( { bRetrieve : true } );
$rfrTable.fnDraw(); // I need my ajax result in table now
}
}
});
我不确定如何使我的 ajax 结果到达数据表。
编辑:尽管我的 ajax 调用返回了许多记录,但我在表中看不到任何结果。
这是返回数据的 PHP 代码。
$stmt->set_qry_str($sql);
$retval = $stmt->exec();
if($retval === false){
// toLogger
}else{
$rows = array();
while($stmt->fetchAssocNext()){ // This function returns associative array
$rows[] = $stmt->get_resultRow();
}
print json_encode($rows);
}
这是响应的萤火虫快照。
[{"npi":"1","name":"Stan, XXX"},{"npi":"1212121212","name":"Stanley, YYY"},{"npi":"0123456789", “名称”:“谢弗斯科特 S”}]