我第一次使用Laravel 5,当刀片调用JS文件时,我有一个刀片,其中包含一个JS文件。它无法识别网址: 这就是我在JS文件中调用我的URL的方式:
$.ajax({
type: "POST",
cache: false,
url : "{{URL::to('zone')}}",
data: {'ma':$('select[name=ma]').val()},
success: function(data) {
...
}
});
当我在myBlade.blade.php中包含此代码时,它工作正常,但是从JS文件中我得到403错误
答案 0 :(得分:5)
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>
2)main.js
$.ajax({
type: "POST",
cache: false,
url : config.routes.zone,
data: {'ma':$('select[name=ma]').val()},
success: function(data) {
...
}
});
答案 1 :(得分:2)
在Laravel中,同样在codeigniter简单的Approch是
获取基本URL路径
我在这里
//code here
var path = {!! json_encode(url('/')) !!}
$.ajax({
type: "POST",
cache: false,
url : path+'/zone',
data: {'ma':$('select[name=ma]').val()},
success: function(data) {
...
}
});