Jquery 如何在$ajax(js文件)中使用laravelurl和routehelper

Jquery 如何在$ajax(js文件)中使用laravelurl和routehelper,jquery,ajax,laravel,Jquery,Ajax,Laravel,如何像这样翻译url 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') },

如何像这样翻译url

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')

试试这个例子

$.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);
    }
});

除非js代码在laravel刀片视图文件中,否则不能在js文件中调用laravel代码

所以要调用laravel代码,要么将它们作为html标记属性传递到视图中,然后在js文件中使用javascript调用它们

i、 e myview.blade.php

<input type="hidden" id="myurl" url="{{url('event/add')}}" />

JavaScript文件无法呈现php/blade代码。它在.js文件中不起作用,因为它们没有在.js文件中解析。因此,您可以使用一些技巧通过blade获取呈现/翻译的url,如下所示

在以下示例中,我假设您的
blade
文件名为
view.blade.php
javascript
文件名为
script.js

第一个解决方案:

view.blade.php
中编写以下代码

<script>
   var add_event_url = "{{ url('event/add') }}"
</script>
第二种解决方案: 您可以在HTML元素属性中使用route或url helper,单击可以获得解析的url,如下所示 在
view.blade.php
文件中

$.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');
<a href="{{ url('event/create') }}" id="create_event">Add Event</a>
$(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');

});

我希望这会有所帮助。

请发送您的路线代码。@KuldeepMishra我更新了我的问题尝试创建
var url=“{{url('event/add')}}”
并将
url:url
@AlexanderVillalobos同一问题删除
表单
放入
ajax
未捕获的语法错误:控制台中的意外标识符@Sobin Augustine
$(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');

});