如何翻译此类网址
http://localhost/event/add
但是我提交表格时总是这样
http://localhost/%7B%7B%20url('event/add')%20%7D%7D
我的js代码是
$.ajax({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
type: 'POST',
url: "{{ url('event/add') }}",
data: form,
dataType: "json",
success: function (data) {
console.log("yes :- " + JSON.stringify(data));
}
},'json');
我的web.php文件
Route::post('/event/add','eventController@create')->name('event.Add')
;
答案 0 :(得分:1)
除非js代码位于laravel刀片视图文件中,否则您不能在js文件中调用laravel代码。
因此要调用laravel代码,是将它们作为html标签属性传递给视图,然后在js文件中使用javascript进行调用
即myview.blade.php
<input type="hidden" id="myurl" url="{{url('event/add')}}" />
然后在您的js文件中
var myurl = $('#myurl").attr('url');
$.ajax({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
type: 'POST',
url: myurl,
data: form,
dataType: "json",
success: function (data) {
console.log("yes :- " + JSON.stringify(data));
}
},'json');
答案 1 :(得分:0)
尝试使用此示例
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$url = '{{url('event/add')}}';
$.ajax({
type:'POST',
url: $url,
success:function(data) {
$("#msg").html(data.msg);
}
});
答案 2 :(得分:0)
JavaScript文件无法呈现php / blade代码。由于无法在.js文件中解析,因此无法在.js文件中使用。因此,您可以使用一些技巧通过刀片获取呈现/翻译的网址,如下所示。
在以下示例中,我假设您的blade
文件的名称为view.blade.php
,而javascript
文件的名称为script.js
第一个解决方案:
在view.blade.php
中编写以下代码
<script>
var add_event_url = "{{ url('event/add') }}"
</script>
在脚本标签下添加您的js文件。
然后,您可以在JavaScript文件中使用add_event_url
变量
在script.js
文件中
$.ajax({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
type: 'POST',
url: add_event_url, //http://localhost/event/add
data: form,
dataType: "json",
success: function (data) {
console.log("yes :- " + JSON.stringify(data));
}
},'json');
第二个解决方案:
您可以在HTML元素属性中使用route或url helper,然后单击即可获得解析的url,如下所示
在您的view.blade.php
文件中
<a href="{{ url('event/create') }}" id="create_event">Add Event</a>
和script.js
文件中
$(document).on('click', '#create_event', function(){
var add_event_url = $(this).attr('href');
$.ajax({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
type: 'POST',
url: add_event_url, //http://localhost/event/add
data: form,
dataType: "json",
success: function (data) {
console.log("yes :- " + JSON.stringify(data));
}
},'json');
});
我希望它会有所帮助。