我有一个在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 ?