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



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

下面是我的路线。

// default
Route::get('/', [AppHttpControllersHomeController::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 ?

相关内容

  • 没有找到相关文章