在 laravel 8 中的外部 js 文件中设置 ajax url

Setting ajax url in external js file in laravel 8

我有一个在 laravel 8 开发的单页网站上传到实时服务器上。该站点有一个使用 ajax 发送邮件的联系表。我目前在设置正确 ajax url 时遇到问题。我已经在线查看了一些解决方案,但 none 已经解决了问题。

以下是我的路线。

// default
Route::get('/', [App\Http\Controllers\HomeController::class, 'index'])->name('home');
// contact us
Route::post('contactus', [HomeController::class, 'contactus'])->name('contactus');

在刀头上我有这个:

<script>
var base_path = '{{ url('/') }}/';
</script>

然后在外部js文件中:

$.ajax({
    url: base_path + "/contactus",
    method: 'POST',
    dataType: 'json',
    data: {
        _token: _token,
        mail_name: name,
        mail_email: email,
        mail_subject: subject,
        mail_message: message
    },
    success: function (response) {

        // response true
        if (response.bool == true) {
            alert("Sent")
        }
        else {

            alert("Failed")
        }
    }
});

当我提交表单时,它失败了。检查浏览器控制台显示“未找到,请求的 URL 未在此服务器上找到..”错误。感谢任何帮助。

对于初学者来说,它看起来像:

<script>
    var base_path = '{{ url('/') }}/';
</script>

将生成一个 URL 并在末尾添加斜杠。

然后:

    url: base_path + "/contactus",

添加另一个尾部斜杠。你的 URL 有没有机会变成 https://www.baseurl.com//contactus