我的js脚本
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);
并添加echo'1';
它返回我想要的地方'1'但来自此处的内容$ this-&gt; load-&gt; view('front_end / ajax_delete_ban',$ data);不回到这个div?为什么?
我已经看过响应和html返回什么,这里是从视图返回的html行(没有错误)但是没有出现在JQuery(”#ban_list”).append(data);
我的.get运行良好,但只返回一个单词,同时在firebug中查看响应和html显示返回的行但是不将它添加到div中?
我做了一些测试:
echo '1111';
返回OK!
echo '1111 2222';
不回来?
如何返回多个单词以及我的错误在哪里?
答案 0 :(得分:1)
你混合了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
答案 1 :(得分:0)
请改为尝试:
jQuery("#ban_list").append($('<div></div>').html(data));