首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Codeigniter删除而不重新加载页面(3)

使用Codeigniter删除而不重新加载页面(3)
EN

Stack Overflow用户
提问于 2017-11-24 18:41:44
回答 2查看 140关注 0票数 0

在不重新加载页面的情况下删除数据时出现问题。

请注意我的观点:

代码语言:javascript
复制
    echo
'<table id="" border="0" cellpadding="4" cellspacing="0" > 
<tr>
<td >Text 1</td>
<td>Text 2</td>
<td>
<a href="' . base_url() . 'tournaments/tournaments_participant_delete/' . $id_tournament . '/' . $id_participant . '/' . $id_category . '" id="delete_participant_tournament" type="submit" class="btn btn-sm btn-danger pull-right" style="margin-right:5px;"> <span class="glyphicon glyphicon-remove"></span>
</a>
</tr>
</table>
<br>';

请注意我的脚本:

代码语言:javascript
复制
    $(document).ready(function(){
    $("#delete_participant_tournament").click(function(event){
        var href = $(this).attr("href")
        var btn = this;
        $.ajax({
            type: "GET",
            url: href,
            success: function(response) {

                if (response == "Success")
                {
                    $(btn).closest('tr').fadeOut("slow");
                }
                else
                {
                    alert("Error");
                }
                return false;
            }
        });
        return false;
    });
});

当然还有我的控制器

代码语言:javascript
复制
public
function tournaments_participant_delete($tournament_id,$participant_id, $category)
{
    $this->tournaments_model->tournament_categories_participants_delete($tournament_id, $participant_id, $category);
    redirect('tournaments/add_participant_tournament/'.$tournament_id, 'refresh');
}
EN

回答 2

Stack Overflow用户

发布于 2017-11-24 18:54:00

我注意到你可以移除的第一件事

代码语言:javascript
复制
type="submit"

注意到的另一件事是,您正在进行AJAX调用。那么为什么你想在控制器中做同样的重定向呢?

代码语言:javascript
复制
redirect('tournaments/add_participant_tournament/'.$tournament_id, 'refresh');

你应该像这样返回响应

代码语言:javascript
复制
echo "Success" or echo "Error" // Whatever be the state

更改它,它应该可以按预期工作。

票数 0
EN

Stack Overflow用户

发布于 2017-11-24 19:10:43

试着花点时间来理解AJAX

就是一个例子,使用jQuery AJAX的Codeigniter。

在您的代码中,避免在完成逻辑后从服务器端重定向。即。而不是这个

代码语言:javascript
复制
redirect('tournaments/add_participant_tournament/'.$tournament_id, 'refresh');

您可以简单地为视图传递所需的数据,并在Jquery AJAX的成功函数中检索它

代码语言:javascript
复制
success: function(response) {
     // Here you can get the data passed by server
}

快乐的编码...

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47471511

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档