我在找我如何完成這個下一個任務。我有一個控制器加載一個視圖,其中列出了我的數據庫中的頁面。在表格中的每一行中都有一個點擊圖標的位置,當點擊它時會執行以下兩項操作之一。使用一個刪除函數的PHP請求的後jquery請求
如果用戶不啓用JavaScript:
- 點擊該圖標會重定向到刪除功能在控制器與頁面的ID作爲放慢參數
- 刪除控制器功能將運行刪除功能在模型中發送頁面id刪除模型功能
- 刪除模型中的功能將從數據庫中刪除頁面,當返回到頁面控制器刪除功能時,它將重新導向回到索引功能以再次顯示頁面列表。
- 重定向後,它將顯示一個標題和消息成功/失敗。
如果用戶確實啓用JavaScript:
- 發個帖子刪除功能的控制器使用jQuery後 方法與數據頁ID
- 刪除控制器功能將運行刪除功能模型發送頁面id刪除模型功能
- 刪除模型中的功能將從數據庫中刪除該頁面,當返回到頁面控制器刪除功能時,它爲json對象創建一個消息數組以返回成功函數n發佈的請求。
- 我pnotify插件的消息將創建一個從JSON對象形成一個消息,並將其顯示給用戶
我想知道的是這樣做如何正確適應這兩個場景?我已經開始嘗試,但是如果我迄今犯了一個錯誤,我想澄清一下。
<?php
// Controller delete function
public function delete($content_page_id)
{
if (isset($content_page_id) && is_numeric($content_page_id))
{
$content_page_data = $this->content_page->get($content_page_id);
if (!empty($content_page_data))
{
//update is ran instead of delete to accompodate
//for the soft delete functionality
$this->content_page->update('status_id', 3);
if ($this->input->is_ajax_request())
{
//return json data array
}
}
}
}
?>
全球JS中使用文件的多個表與刪除按鈕
/* Delete Item */
$('.delete').click(function(event) {
event.preventDefault();
var item_id = $(this).attr('rel');
$.post(<?php echo current_url(); ?>'delete', { item_id : item_id }, function(data)
{
if (data.success)
{
var anSelected = fnGetSelected(oTable);
oTable.fnDeleteRow(anSelected[0]);
}
}, 'json');
});
你可以做一兩件事,檢查它是否Ajax請求或不在您的控制器。根據這個標準打開回復 –
它看起來像你正在處理它的部分輸入 - > is_ajax_request()這可能是這樣做:http://davidwalsh.name/detect-ajax –