我正在通过ajax构建一些html并尝试将其插入到我的页面中,但没有任何工作。数据恢复正常,我可以在firebug中看到附加内容正在激活,但没有插入html。
这是我的jquery
//AJAX LEAD SEARCH
$('#ajx_ld_s').on("keyup", function() {
var search = $('#ajx_ld_s').val();
if(search == ""){
search = "__all__";
}
$.ajax({
type: "POST",
url: "/leads/view-leads-ajax",
data: { search: search, action: "ls" },
beforeSend: function(xhr) {
$('.ajax_label label').after('<img src="/assets/img/system/ajax.gif" alt="loading">');
}
})
.done(function(data) {
$('.ajax_cont').append( data );
})
.always(function() {
$('.ajax_label img').remove();
$('.ajax_search form').val('');
});
});
这是我的功能......
public function view_leads_ajax(){
$data = array();
//get leads
$data['leads'] = $this->Lead_model->get_leads_ajax($_POST);
//build html
$html = '';
foreach ($data['leads'] as $key => $l) :
$lc = ($l['last_contact'] == 0) ? "No Contact Made" : $l['last_contact'];
$html .= '<tr>
<td><a href="/leads/action/' . $l['id'] .'"><i class="fa fa-pencil"></i></a></td>
<td> ' . $l['fname'] . ' ' . $l['lname'] . '</td>
<td> ' . $l['email'] . '</td>
<td> ' . $l['contact'] . '</td>
<td> ' . $l['contact_other'] . '</td>
<td> ' . $l['addr_num'] . ' ' . $l['addr_line1'] . ' ' . $l['addr_line2'] . '</td>
<td> ' . $l['addr_town'] . '</td>
<td> ' . $this->utility->get_office_short_name( $l['office'] ) . '</td>
<td> ' . $l['added_date'] . ' </td>
<td> ' . $lc . '</td>
<td> ' . $l['o_contact_via'] . '</td>
</tr>';
endforeach;
return $html;
}
如果有人能发现我的错误,我会非常感激。
由于
答案 0 :(得分:0)
替换
return $html;
与
echo $html;
PHP中的,当然/leads/view-leads-ajax
必须是有效的URL。
此外,这似乎很奇怪
$('.ajax_search form').val('');
表单没有价值?
答案 1 :(得分:0)
不确定这是否是问题,但我认为你不能用Ajax直接调用php函数。