我在laravel项目中为我的表创建搜索功能。我正在使用ajax实时搜索方法,但现在插入搜索栏时会遇到一些错误。控制台中显示的错误是POST 404(未找到)。 我的帖子如下。我不确定为什么会停止工作。
抱歉我的英语不好。
这是我的剧本
$(document).ready(function(){
load_data();
function load_data (query)
{
$.ajax({
url:"fetch.php",
method:"POST",
data:{query:query},
success:function(data)
{
$('#table').html(data);
}
});
}
$('#search').keyup(function(){
var search = $(this).val();
if(search != '')
{
load_data(search);
}
else
{
load_data();
}
});
fetch.php
<?php
if(isset($_POST["query"]))
{
$connect = mysqli_connect("localhost", "root", "", "testing");
$request = mysqli_real_escape_string($connect, $_POST["query"]);
$query = "
SELECT * FROM domain
WHERE Domain LIKE '%".$request."%'
";
$result = mysqli_query($connect, $query);
$html = '';
$data = array();
$html .= '
<table class="table table-bordered table-striped">
<tr>
<th>Domain</th>
<th>Registrar</th>
<th>Login ID</th>
<th>Password</th>
</tr>
';
while ($row = mysqli_fetch_array($result))
{
$data[] = $row["Domain"];
$data[] = $row["Registrar"];
$data[] = $row["Login_ID"];
$data[] = $row["Password"];
$html .= '
<tr>
<td>'.$row["Domain"].'</td>
<td>'.$row["Registrar"].'</td>
<td>'.$row["Login_ID"].'</td>
<td>'.$row["Password"].'</td>
</tr>
';
}
$html .= '</table>';
if (isset($_POST["typehead_search"]))
{
echo $html;
}
else
{
$data = array_unique($data);
echo json_encode($data);
}
}
?>
答案 0 :(得分:0)
您的url
不正确。您需要在route
文件中为controller
创建routes/web.php
。在您的情况下,您可以创建一个名为AjaxController
的控制器,其中包含public function Search(Request $request)
。
然后你的路线看起来像这样:
Route::post('/ajax/search', 'AjaxController@search');
在$.ajax
来电中,url
将是'/ajax/search'
。
laravel文档对此主题非常详细,因此您可能希望转到:laravel route。如果您已经这样做了并且还有更多问题,请不要害怕问:)