2013-03-11 64 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

相关问题