2013-04-08 67 views
0

当我尝试通过ajax jquery发送数据在成功我得到整个页面html。其他功能在这里工作是我的代码。CodeIgnitor 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页面的回复代码。

+0

它的住客或者到本地? – 2013-04-08 08:59:21

+0

其在本地主机 – Uahmed 2013-04-08 09:04:35

回答

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! 
    } 
} 

希望这可以帮助你

+0

感谢您的答复,但其相同。 – Uahmed 2013-04-08 09:09:23

+0

我已编辑我的答案看看 – 2013-04-08 09:11:22

+0

:D我也发现,但也非常感谢帖子是多数民众赞成的问题,但你可以告诉我一种方式,我不必写整个路径,因为我必须移动文件到服务器太 – Uahmed 2013-04-08 09:13:50

0

使用

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

相反

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

感谢您的答复,但我仍然得到整个HTML页面。我更改函数名称,以便模型和控制器具有唯一的函数名称 – Uahmed 2013-04-08 09:04:14

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/ 

的URL,它让我发现,现在可以任何人告诉我如何解决这个url的事情?对不起,我是CI新手。

+0

获取更多帮助,请参阅http://ellislab.com/codeigniter/user-guide/helpers/url_helper.html – 2013-04-08 09:21:43