我有以下代码来显示laravel公共文件夹内js
文件中页面加载时应用程序中每个链接上新消息的数量。
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name=csrf-token]').attr('content')
}
});
$.ajax({
url: "profile/newmessages",
type: 'GET',
dataType: 'JSON',
beforeSend: function(){
$("#new_messages_number").empty().append('<i class="fa fa-spinner fa-spin"></i>');
},
success:function(response){
$("#new_messages_number").empty().append(response.length);
}
});
它适用于带有单斜杠的链接,例如localhost:8000/foo
或localhost:8000/bar
。但是对于带有多个斜杠的链接,例如localhost:8000/foo/bar
,我得到的错误低于
GET http://localhost:8000/foo/profile/newmessages 404 (Not Found)
我该如何解决这个问题?
编辑:这是此网址的路由
Route::group(['prefix' => 'profile', 'namespace' => 'Profile'], function () {
Route::get('/newmessages', 'MessageController@newMessages');
});
答案 0 :(得分:0)
我建议首先给您的路线起一个别名
Route::get('/newmessages', 'MessageController@newMessages')->name('new.messages');
然后在您的ajax请求中:
var url = "{{ route('new.messages') }}";
$.ajax({
headers: {
'X-CSRF-TOKEN': $('meta[name=csrf-token]').attr('content')
},
url: url,
type: 'GET',
dataType: 'JSON',
beforeSend: function(){
$("#new_messages_number").empty().append('<i class="fa fa-spinner fa-spin"></i>');
},
success:function(response){
$("#new_messages_number").empty().append(response.length);
}
});
如果这不起作用,请通过运行php artisan route:list
命令来检查您的路由是否确实存在