2013-04-08 23 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