CodeIgniter Jquery成功给了我所有的页面html

时间:2013-04-08 08:55:13

标签: jquery codeigniter

当我尝试通过ajax jquery发送数据时,我获得了整个页面的html。其他功能在这里工作是我的代码。

                                    <form id ="" action ="" method ="POST">
                                    <?php
                                        $counter = 0 ;
                                        foreach ($all_users as $user) {
                                    ?>
                                    <tr class="">
                                        <td><?php echo $user->user_name; ?></td>
                                        <td><?php echo $user->level ;?></td>
                                        <td>asd</td>
                                        <td><a class="edit" href="javascript:;">Edit</a></td>
                                        <td><a class="delete" onclick ="delete_user($(this),<?php echo $user->id;?>)">Delete</a></td>
    </tr>
    <?php
    $counter ++;
    }
        ?>
</form>

javascript

    function delete_user(row_id,user_id)
    {
        if (confirm('Do you really want to delete')) {

            row_id.closest('tr').remove();

            $.ajax({
                type: "POST",
                url: "delete_user/",
                data: { "user_id":user_id },

                success: function(msg) {


                        //alert("Name = " + msg);
                }
            });
        } 
        else {
        // Do nothing!
        }
    }
CI中的

function delete_user()
{
    $user_id = $this->input->post('user_id');
    $this->load->model("m_user");
    $this->m_user->delete_user($user_id);
    echo $result;
    echo $user_id;
}

我可以看到它发送帖子和数据也发送但我没有得到答复我得到整个HTML页面代码。

3 个答案:

答案 0 :(得分:1)

我在项目中遇到的相同情况问题的简单解决方案是,当您在此功能delete_user()调用其他功能之后向 codeigniter 发送请求时,您需要delete_user()执行后停止执行,例如使用die()调用

function delete_user()
{
$user_id = $this->input->post('user_id');
$this->load->model("m_user");
$this->m_user->delete_user($user_id);
echo $result;
echo $user_id;
die();
}

同样在您的JS代码中,您没有提供删除功能的控制器名称

  function delete_user(row_id,user_id)
{
    if (confirm('Do you really want to delete')) {

        row_id.closest('tr').remove();

        $.ajax({
            type: "POST",
            url: "<?php echo base_url();?>/controller_name_required/delete_user/",
            data: { "user_id":user_id },

            success: function(msg) {


                    //alert("Name = " + msg);
            }
        });
    } 
    else {
    // Do nothing!
    }
}

希望这可以帮助你

答案 1 :(得分:0)

使用

 $this->m_user->delete($user_id);

相反

   $this->m_user->delete_user($user_id);

答案 2 :(得分:0)

我弄明白一件事是

我的网址是

http://localhost/xxx/CI/user/all/

这里用户是一个控制器,一切都是功能。

当我尝试将数据发送到函数名称时,delete_user可能会被CI认为是这样的

http://localhost/xxx/CI/user/all/delete_user/

我像这样硬编码网址

http://localhost/xxx/CI/user/delete_user/

它告诉我,现在有谁能告诉我如何解决这个网址的事情?抱歉,我是CI的新手。