我是試圖在視圖中執行一個AJAX請求,用戶提供了一些輸入,發送到服務器與AJAX和它應該去的功能是路由與CodeIgniters路由。CodeIgniter路由問題。 (追加ajax路由到現有的url)
這是我目前在提出請求時的觀點。
http://localhost:8888/companies/list
在我的路線配置我已經設置如下這條路線來處理Ajax請求,這應該可以來自任何觀點,仍然能夠去我指定的路線。
$route['test_ajax'] = "ajax/test_ajax";
因此請求應該去「Ajax」的-controller和使用功能「test_ajax」,這應該能讓POST-URL這個樣子。
POST http://localhost:8888/test_ajax
但不是我所得到的是我站在當前的URL,路徑我指定附加到URL完全崩潰從AJAX請求我的反應,因爲它甚至不走的很近到它應該的功能。我得到的POST-url看起來像這樣。
POST http://localhost:8888/companies/test_ajax
注意/ companies的參數已被刪除。參數/列表在某處丟失了,但是如果我在列表後面添加了尾部的斜槓,我也會在URL中獲得列表參數。
所以剛纔發生的事情是,POST試圖去公司控制器和查找這是在Ajax的控制器,而不是定義在公司控制器的功能test_ajax。無論我在哪個網址,都會發生此錯誤,並始終遵循相同的模式。它會將我的route-URL附加到現有的URL上,而不是正確地路由。
所以這可能是導致路由到這樣的行爲,是否有意外真實啓用或任何東西任何設置?因爲我知道在以前的項目中我已經有數百次的工作。
在此先感謝。
要在CodeIgniter中使用'base_url',請確保您已加載URL助手。 – beseku 2010-02-01 08:04:43
這有效,但僅僅是因爲我完全忽略了路由,只是使用它的常規URL。我想保留所有網址的路由結構。但你肯定有一點。 – 2010-02-01 08:11:37
@beseku,如果我把所有的js放在外部的js文件中,我怎樣才能使用php代碼? – palAlaa 2012-11-25 11:16:06