2011-07-02 60 views
3

我有我的控制器的方法,如forgot_passwordlogin僅由AJAX調用的控制器方法使私有?

這些僅僅是通過AJAX調用,但默認情況下,你可以通過URL瀏覽到他們由於CI的工作方式。

我可以以某種方式將它們設置爲私人,並仍然通過AJAX訪問它們嗎?這裏做的事情是什麼?

+0

接受的答案,如果你覺得任何人是對的!當其他人轉達您的答案選擇。 –

回答

0

如果你想測試ajax請求,這樣的事情可能會有所幫助。

編輯:在CI中有一個幫助函數來檢測ajax請求。 答案是過時

if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH']=="XMLHttpRequest") 
{ 
// most probably ajax request 
} 
else 
{ 
    echo "not sure";  
} 
14

這裏最好的做法是使用$this->input->is_ajax_request()

if(! $this->input->is_ajax_request()) { 
    redirect('404'); 
}