我正在关注本教程:https://www.youtube.com/watch?v=D4ny-CboZC0
我已经完成了所有操作,但在测试时我在控制台中收到以下错误:
jquery.min.js:2 POST
http://apr2.test/admin/posts/%7B%7B%20('autocomplete.fetch')%20%7D%7D
404 (Not Found)
我做的不同的一件事是我希望搜索功能位于我的帖子创建页面中,而不是专有的,所以我的路线是这样的:
Route::group(['prefix' => 'admin', 'namespace' => 'Admin', 'middleware' => 'auth'], function () {
Route::get('/', 'AdminController@index')->name('admin');
Route::get('posts', 'PostsController@index')->name('admin.posts.index');
Route::get('posts/create', 'PostsController@create')->name('admin.posts.create');
Route::post('posts/create', 'PostsController@fetch')->name('autocomplete.fetch');
Route::post('posts', 'PostsController@store')->name('admin.posts.store');
});
我的 JS/jQuery 代码:
// A $( document ).ready() block.
$(document).ready(function () {
$('#country_name').keyup(function () {
var query = $(this).val();
if (query != '') {
var _token = $('input[name="_token"]').val();
$.ajax({
url: "{{ ('autocomplete.fetch') }}",
method: "POST",
data: {
query: query,
_token: _token
},
success: function (data) {
$('#countryList').fadeIn();
$('#countryList').html(data);
}
});
}
});
$(document).on('click', 'li', function () {
$('#country_name').val($(this).text());
$('#countryList').fadeOut();
});
});
出了什么问题?
最佳答案
我认为问题出在 Blade 上,您在 URL 中将路由名称用作 %7B%7B
转换为 {{
。
请仔细检查您在此处或表单元素中的操作标记中使用了正确的代码:{{route("autocomplete.fetch")}}
并且它没有被丢失一些引言。
关于javascript - Laravel 5.7 从 DB : JS not recognizing the route 自动完成搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53213181/