2014-12-19 26 views
1

在我的CI項目中,即時通訊使用的是一個網頁,它包含一個<div name="call-ajax">,它通過js按鈕點擊時調用一個ajax display_table.phpPhp-Codeigniter:如何手動退出ajax。

ajax內容是從數據庫表加載的<table>.....</table>。我爲每行提供了一個刪除(按鈕)選項,以從Html表和mysql表中刪除對應的行。爲此,我在onClick的Delete按鈕上調用了javascript fn()。 js的FN()將刪除相應的HTML錶行,然後調用控制器這樣

window.location.href = "<?php echo base_url("somecontroller/delete_comapny"); ?>/"+Code+"/"+CId; 

所以這將調用控制器,然後模型來從MySQL表中刪除對應的行。刪除後回到Controller delete_comapny()。

問題出在這裏。在這裏,我想加載somepage.php

$this->load->view('somepage'); 

作爲一個正常的網頁。但我得到的somepage.php顯示爲ajax(somepage.php中的所有內容都顯示在元素<div name="call-ajax">,我在第一段中已經講過)。這是因爲這些所有操作都從ajax display_table.php開始。所以畢竟操作它顯示sompeage.php作爲阿賈克斯在<div name="call-ajax">

我怎麼得到這個解決方案。我只需要加載一個正常的網頁。

任何幫助將不勝感激。

+1

使用第二個視圖參數作爲$ this-> load-> view('somepage',true);現在你將獲得視圖html作爲字符串。使用它爲你的目的:) – 2014-12-19 07:20:13

回答

0

你可以把js代碼裏面somepage.php並重定向與

window.location 
+0

thanx,但問題通過其他方式解決,發佈爲答案 – 2014-12-19 10:51:33

0

我通過思考更深刻地得到了答案。 Ajax解決了這個問題。我調用了一個ajax函數onClick刪除按鈕。也將相應的參數傳遞給Ajax。

從AJAX部分它調用一個控制器像如下

type: "POST", 
url : 'delete_company', 
data: { com_code: comcod, com_lic:comid } , 
    success: function(data){ 
     $('#display-table').html(data); 
} 

上的控制器,其直接轉發到建模。在型號I上通過

得到該值
$co_lic= $this->input->post('com_lic'); 
$co_code= $this->input->post('com_code'); 

刪除後,控制回控制器。我把回聲「succees」,這回聲將顯示給

<div id="display-table"></div> 

因此,沒有更多的頁面加載的問題,在我所期待的達成。