为什么route()函数现在可以使用laravel?

Imr*_*bas 0 php laravel laravel-5

在我的laravel包中,路由不起作用,它在调试器中显示以下错误路由

Request URL: http://localhost:8000/%7B%7B%20route('contact')%20%7D%7D
Run Code Online (Sandbox Code Playgroud)

不过我的路线如下

Route::group(['namespace' => 'ayazdev\Contact\Http\Controllers'], function(){
    Route::get('contact', 'ContactController@index')->name('contact');
    Route::post('contact', 'ContactController@send')->name('sendForm');
});
Run Code Online (Sandbox Code Playgroud)

以下是我呼叫路线的地方

$(function(){
    $("#contact-form").submit(function(e) {
        var form = $(this);
        $.ajax({
               type: "POST",
               url: "{{ route('contact') }}",
               data: form.serialize(), 
               success: function(data)
               {
                   alert(data); 
               }
             });
        e.preventDefault(); 
    });
});
Run Code Online (Sandbox Code Playgroud)

如果上面的细节不足以理解,那么你可以在github上检查它.

有人可以指导我为什么现在正在工作,我会很感激.谢谢

Jer*_*dev 6

花括号是Laravel Blade视图的一部分,但您在JavaScript文件中使用它.Laravel不会解析此代码,因此您无法在此处使用php函数.

如果要在JavaScript代码中获取命名路由,则必须将它们呈现为JavaScript变量或使用Ziggy之类的包来获取JavaScript中的路由功能.