使用ajax数据注入带有追加的html

时间:2014-02-07 14:51:54

标签: php jquery ajax

我正在通过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;


}

如果有人能发现我的错误,我会非常感激。

由于

2 个答案:

答案 0 :(得分:0)

替换

return $html;

echo $html;
PHP中的

,当然/leads/view-leads-ajax必须是有效的URL。

此外,这似乎很奇怪

$('.ajax_search form').val('');

表单没有价值?

答案 1 :(得分:0)

不确定这是否是问题,但我认为你不能用Ajax直接调用php函数。

请参阅:using jquery $.ajax to call a PHP function