Ajax搜索栏与Laravel8不起作用
创始人
2024-08-04 14:31:36
0
  1. 确定你的路由配置是否正确。例如,如果你正在使用POST请求,则需要在web.php文件中将其配置为POST。
  2. 确认你的控制器和Laravel模型是否正确配置。确保它们都在正确的目录中,并遵循Laravel的命名约定。
  3. 确认你在视图中正确引入jQuery和bootstrap相关文件。如果你的样式或脚本没有被正确加载,这可能会导致搜索栏不起作用。
  4. 再次检查你的Ajax代码是否正确。确保你发送正确格式的数据,并且返回正确格式的响应。以下是一个示例:
# 路由配置
Route::post('/search', [SearchController::class, 'search'])->name('search');

# 控制器代码
public function search(Request $request)
{
    $query = $request->get('query');
    $results = DB::table('users')->where('name', 'like', '%' . $query . '%')->get();
    return response()->json($results);
}

# Ajax代码
$(document).ready(function() {
    $('#search-form').on('submit', function(e) {
        e.preventDefault();
        var query = $('#search-box').val();
        $.ajax({
            type: 'POST',
            url: '{{ route('search') }}',
            data: { query: query },
            success: function(data) {
                $('#results').html('');
                $.each(data, function(i, item) {
                    $('#results').append('
  • ' + item.name + '
  • '); }); } }); }); });

    在上面的代码示例中,我们首先定义了一个名为“搜索”的路由,然后在控制器中获取用户输入的搜索查询,并使用查询构建器返回符合条件的结果。最后,我们使用response()->json()方法将结果转换为JSON格式并发送回Ajax请求。在Ajax代码中,我们监听了search-form表单的submit事件,并阻止了默认行为。然后,我们获取用户输入的搜索查询,并将其作为数据发送到搜索路由。如果成功,我们遍历返回的数据,并将每个结果追加到#results元素中。

    相关内容

    热门资讯

    安装apache-beam==... 出现此错误可能是因为用户的Python版本太低,而apache-beam==2.34.0需要更高的P...
    避免在粘贴双引号时向VS 20... 在粘贴双引号时向VS 2022添加反斜杠的问题通常是由于编辑器的自动转义功能引起的。为了避免这个问题...
    Android Recycle... 要在Android RecyclerView中实现滑动卡片效果,可以按照以下步骤进行操作:首先,在项...
    omi系统和安卓系统哪个好,揭... OMI系统和安卓系统哪个好?这个问题就像是在问“苹果和橘子哪个更甜”,每个人都有自己的答案。今天,我...
    原生ios和安卓系统,原生对比... 亲爱的读者们,你是否曾好奇过,为什么你的iPhone和安卓手机在操作体验上有着天壤之别?今天,就让我...
    Android - 无法确定任... 这个错误通常发生在Android项目中,表示编译Debug版本的Java代码时出现了依赖关系问题。下...
    Android - NDK 预... 在Android NDK的构建过程中,LOCAL_SRC_FILES只能包含一个项目。如果需要在ND...
    Akka生成Actor问题 在Akka框架中,可以使用ActorSystem对象生成Actor。但是,当我们在Actor类中尝试...
    Agora-RTC-React... 出现这个错误原因是因为在 React 组件中使用,import AgoraRTC from “ago...
    Alertmanager在pr... 首先,在Prometheus配置文件中,确保Alertmanager URL已正确配置。例如:ale...