2013-03-11 67 views
2

我在使用Codeigniter後端的本地Javascript中使用正確的路徑名時遇到問題。在Javascript中本地使用正確的服務器(Codeigniter)URL

我笨文件目錄看起來像這樣

-user_data 
-application 
-system 
-assets 

在我的JS我定義我想用這USER_DATA像這樣的路徑:

var user_file_location = 'user_data'; 

我有一個函數(在我的地方JS)根據給定的url預加載圖像:

loader.addImage(image_url); 

現在,當我嘗試加載圖像f ROM中的目錄USER_DATA像這樣:

loader.addImage(user_file_location + 'grass.png') 

我得到在瀏覽器控制檯以下錯誤:

GET http://localhost/index.php/userdata/grass.png 404 (Not Found) 

因此,該URL的功能loader.addImage()試圖獲取圖像是從不正確。

我的問題

什麼是實現我想要做一個好辦法嗎?我應該建立一個詢問Codeigniter的ajax函數base_url()並以某種方式在我的JS中使用它?

請幫忙,我完全失去了。

+0

發佈你的'loader.addImage'代碼。最有可能的錯誤在那裏。 – J0HN 2013-03-11 20:47:27

+0

http://stackoverflow.com/questions/12110144/codeigniter-image-and-source-url – 2013-03-11 20:48:06

+0

不應該是GET http://localhost/index.php/user_data/grass.png? – Girish 2013-03-11 20:50:18

回答

1

我用這種技術從後端發佈的配置參數,以我的js代碼:

在我的佈局文件I輸出如下:

echo "<script>"; 
echo "window.myNameSpace = new Object(); "; 
echo "window.myNameSpace.baseUrl = '" . base_url() . "';"; 
echo "</script>"; 

那麼我能夠在訪問此參數js代碼無論我想要的,像這樣:

var imageUrl = window.myNameSpace.baseUrl + image.png 
+0

這將工作。是否使用你的方法使用JS實現訪問服務配置信息? – 2013-03-11 20:53:52

+0

我現在沒有,如果它可以被認爲是標準的做法,但當我面臨同樣的問題時,這是我可以想出的最佳解決方案。與使用ajax請求相比,這更快更方便。 – jonixj 2013-03-11 21:07:19

+0

您應該使用'site_url()'而不是'base_url()',以便包含索引頁(如果適用)。 – 2013-03-12 04:58:05

相關問題