.css文件中的图像链接或使用laravel中的.js文件调用控制器

时间:2014-07-12 17:21:35

标签: javascript css laravel laravel-4

我正在使用Laravel 4

如何在.css或.js文件中添加图像链接。

如果我放置一条相对路径:

background-image: url("../assets/images/assets.png");

只有当我的视图像

时才会加载文件
/mysite/users

如果我的观点的网址从

更改
/mysite/users 

/mysite/users/job/10/something

它不会加载。

我可以像这样完整的路径:

    background-image: url("/mysite/assets/images/assets.png");

但如果我必须像'theSite'那样创建这个网站的副本,我将打开所有我的css文件和.js文件并将/ mysite替换为/ theSite

有没有聪明的方法呢?就像我在视图中使用的那样:

{{ URL::to('style.css') }}

EDITED

ceejayoz是正确的。

但是如果你需要一个调用Controller的.js文件,你可以这样做:

创建此路线:

Route::get('/js/custom.js ', function()
{

    $contents = View::make('js/custom');
    $response = Response::make($contents, 200);
    $response->header('Content-Type', 'application/javascript');
    return $response;
});

创建custom.blade.php视图并放入此js内容:

$('#inputX').change(function() {
    $.ajax({                                      
            url: "{{URL::to('track/data')}}",
            type: "GET",
            cache: false,
            async: sync,                         
            data: {
                doit: $('#inputX').val()
            },
            success: function(data)          
            {       
                console.log(data)
            }
    });     

});

你怎么看?

1 个答案:

答案 0 :(得分:4)

CSS文件中的网址与CSS文件有关,而与其使用的网页无关。如果您的CSS位于public/css并且您使用../images/something.jpg并且使用public/images/something.jpg,那么无论您使用的是哪个页面的网址都不重要页面的URL。