从js文件调用laravel路由

new*_*One 2 javascript ajax laravel-5

我第一次使用Laravel 5,当刀片调用JS文件时,我有一个刀片,其中包含一个JS文件.它无法识别URL:这是我在JS文件中调用我的URL的方式:

 $.ajax({
        type: "POST",
        cache: false,
        url : "{{URL::to('zone')}}",
        data: {'ma':$('select[name=ma]').val()},
        success: function(data) {
            ...
        }
    });
Run Code Online (Sandbox Code Playgroud)

当我在myBlade.blade.php中包含此代码时,它工作正常但是从JS文件中我得到了403错误

sbe*_*lin 10

Blade不会处理JavaScript文件,只处理具有blade.php扩展名的文件

解决方案可能是提供一个全局配置对象,其中包含您感兴趣的路由集合.

假设你有两个单独的文件:index.blade.php加号main.js

1) index.blade.php

<script>
    // global app configuration object
    var config = {
        routes: {
            zone: "{{ URL::to('zone') }}"
        }
    };
</script>
<script src="main.js"></script>
Run Code Online (Sandbox Code Playgroud)

2) main.js

$.ajax({
    type: "POST",
    cache: false,
    url : config.routes.zone,
    data: {'ma':$('select[name=ma]').val()},
    success: function(data) {
        ...
    }
});
Run Code Online (Sandbox Code Playgroud)