$.从视图代码点火器获取数据


$.get data from view Codeigniter

My js script

jQuery(".unblock").click(function(){
        var num = jQuery('.page.active').text();
        var ban_id = jQuery(this).attr('id');
        jQuery.get("http://127.0.0.1/auth_system_1/user_activity/delete_user_ban", { ban_id : ban_id, num : num }, function(data) {
                jQuery("#ban_list").append(data);
        }, "json");
    });

我的delete_user_ban函数

function delete_user_ban()
{
    $user_id = $this->session->userdata('user_id');
    $ban_id = $this->input->post('ban_id');
    $current_page = (int)$this->input->post('num');
    //$this->activity_model->delete_user_ban($ban_id);
    $per_page = 2;
    $data['ban_list'] = $this->user_activity_lib->user_ban_list($user_id, $current_page, $per_page);
    $this->load->view('front_end/ajax_delete_ban', $data);
} 

我想在这里退货

<!--begin ban list-->
<div id="ban_list">
            <?php foreach($ban_list as $value): ?>
      <div class="comment-box small-comment" id="info-ban-1">
          <div class="photo-box">
       <img src="<?=$value['user_image'];?>" alt="" class="photo rounded"/>
       <a href="#" title="" class="corner rounded"></a>
          </div>
          <div class="comment rounded">
       <div class="bg-tl"></div>
       <div class="avatars">
           <a href="#" title=""><?=$value['user'];?></a><span>blocked</span><a href="<?=base_url() . $value['ban_user'];?>" title=""><img src="<?=$value['user_ban_image'];?>" alt=""/><?=$value['ban_user'];?></a>
           <a href="[removed];" title="Unblock" class="unblock" id="<?=$value['ban_id'];?>">unblock</a>
       </div>
          </div>
          <div class="both"></div>
      </div>
            <?php endforeach; ?>
            </div>
      <!--end ban list-->
      <?=$pagination;?>
         </div> 

我能说什么,除了数据没有返回给.

如果我在函数中删除这一行:

$this->load->view(‘front_end/ajax_delete_ban’, $data);

并添加回声"1";

它返回我想要的"1",但从这里返回内容$this->加载>视图('front_end/ajax_delete_ban',$data(; 不返回此div ?为什么?

我已经观察了响应和html返回的内容,这是从视图返回的html行(没有错误(,但没有出现在JQuery(”#ban_list”).append(data);

我的 .get 效果很好,但只返回一个单词,也在火虫中查找响应和 html,它显示返回的行但不将其添加到div?

我做了一些测试:

echo '1111';

返回确定!

echo '1111 2222';

不回来 ?

如何返回一个以上的单词,我的错误在哪里?

你混合了get和post,不是吗?

将 jQuery 更改为 $.post()

或者将 PHP 更改为 $this->input->get();

你在 $.get(( 调用中也使用了 'json',但返回 HTML。

你应该json_encode你的观点。

您可以将布尔的第三个参数交给$this->load->view()该参数会将视图中的 HTML 返回到字符串。

$myHTML = $this->load->view('front_end/ajax_delete_ban', $data, true);
echo json_encode(array("html" => $myHTML));

然后,在你的jQuery回调函数中,你可以使用data.html

试试这个:

jQuery("#ban_list").append($('<div></div>').html(data));