我是一个新手,需要一个完整的工作示例,在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“,”名称“:”Schaeffer Scott S“}]