我在我的laravel网站上有这个搜索功能,它在我的localhost中工作正常。但是当我使用git hook在vultr vps中部署它时,搜索功能无法正常工作。
当我点击localhost中的搜索按钮时,它会生成这样的网址:http://127.0.0.1:8000/search?query=test&location=&keywords=&_token=I5BDCrqHtdwvsSwrHTrdAAGYfdukPCgU3OAGDySw
但是当在部署服务器中没有任何反应时,它只会进行一些回发加载。
SearchController.php
public function getSearch(Request $request)
{
$this->validate($request, [
'query' => 'required_without_all:keywords,location',
], ['query.required_without_all' => 'Please fill atleast one field.']
);
$query = $request['query'];
$location = $request['location'];
$keywords = $request['keywords'];
if (isset($location) && isset($query) && $keywords) {
$posts = Post::orderBy('created_at', 'desc')->where('title', 'like', '%' . $query . '%')->where('location', 'like', $location)->where('body', 'like', $keywords)->paginate(5);
}
.......
else {
$query = '';
$location = '';
$posts = Post::orderBy('created_at', 'desc')->where('location', 'like', $location)->paginate(5);
}
return view('includes.search-index', ['posts' => $posts]);
}
路由/ web.php
Route::get('/search', [
'uses' => 'SearchController@getSearch',
'as' => 'search'
]);
search.blade.php
<form action="{{ route('search') }}" method="get" >
.....
</form>
有什么想法吗?似乎请求没有通过?因为我有一个空的请求?
答案 0 :(得分:0)
检查表单操作中创建的链接。如果您的.env或config中有localhost,则该路由可能会创建错误的链接。否则请查看您的服务器日志。
您也可以在控制器中进行调试。首先它会在问题出现的后续步骤中运行。
答案 1 :(得分:0)
我的nginx
/etc/nginx/sites-available/default
文件中有错误。
location / {
try_files $uri $uri/ /index.php?query_string;
}
它应该是
location / {
try_files $uri $uri/ /index.php?$query_string;
}