首页 > 解决方案 > 为什么 route() 函数现在可以使用 laravel 工作?

问题描述

在我的 laravel 包中,路由不起作用,它在调试器中显示遵循不正确的路由

Request URL: http://localhost:8000/%7B%7B%20route('contact')%20%7D%7D

但是我的路线如下

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

以下是我调用路线的地方

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

如果上面的细节还不够理解,那么您可以在github上查看。

有人可以指导我为什么它现在可以工作,我将不胜感激。谢谢

标签: phplaravellaravel-5

解决方案


花括号是 Laravel Blade 视图的一部分,但您在JavaScript 文件中使用它。这段代码没有被 Laravel 解析,所以你不能在这里使用 php 函数。

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


推荐阅读