使查询选择像用户名并触发模式隐藏 - Ajax & Jquery

ajax成功从服务器获取数据后,如何触发模态隐藏。现在我的问题是即使我在服务器端进行查询后模态也没有关闭,这可能是我的 ajax 调用是错误的,但尝试了这段代码,它甚至不起作用,请参阅下面的代码。


这是价值


<textarea id="scanned-QR" name="search"></textarea>

这是模态


    <!-- Modal -->

<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLongTitle" aria-hidden="true">

  <div class="modal-dialog" role="document">

    <div class="modal-content">

      <div class="modal-header">

      </div>

      <div class="modal-body">

        ...

      </div>

    </div>

  </div>

</div>

这是我从 textarea 值中获取的 var 值


var query = $('#scanned-QR').val();

    fetch_customer_data(query);



$(document).on('keyup', '#scanned-QR', function(){

      var query = $(this).val();

      fetch_customer_data(query);

    });

这是我的ajax调用


    function fetch_customer_data(query = '') 

    {


      $.ajax({

        url:"select.php",

        method: 'GET',

        data:{query:query},

        dataType: 'json',

        success:function(data) {

            $("#exampleModal").removeClass("in");

            $(".modal-backdrop").remove();

            $('body').removeClass('modal-open');

            $('body').css('padding-right', '');

            $("#exampleModal").hide();

        },

        error:function(err){

            console.log(err);

        }

      });

    }

所以输出是:在我keyup之后,textarea 值将与数据库值进行比较,如果它是LIKE或相同的值,那么如果它是相同的值。成功ajax必须执行以下几行。


最后,我的数据库连接和我的选择查询


选择.php


<?php

  ini_set('display_errors', 1);

  ini_set('display_startup_errors', 1);

  error_reporting(E_ALL);


  $link = mysqli_connect("localhost","root","");

  mysqli_select_db($link, "test");


  $query = $_GET['query'];


  $res = mysqli_query($link,"SELECT * FROM admin WHERE username LIKE '$admin%' ");


  ?>


手掌心
浏览 106回答 1
1回答

慕雪6442864

有两个错误,1) 替换$('#exampleModal').hide();为$('#exampleModalLong').hide();2)你不是json从你的select.php在select.php添加这个if (mysqli_num_rows($res) > 0) {&nbsp; &nbsp; $respose = array('status'=>'1');//1 for success&nbsp; &nbsp; echo json_encode($respose );&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;} else {&nbsp; &nbsp; $respose = array('status'=>'0');//0 for fail&nbsp; &nbsp; echo json_encode($respose );&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;}mysqli_close($link);在 Ajax 中:添加这个success:function(data) {&nbsp; &nbsp;if(data.status == '1'){&nbsp; &nbsp; &nbsp; &nbsp;$("#exampleModalLong").removeClass("in");&nbsp; &nbsp; &nbsp; &nbsp;$(".modal-backdrop").remove();&nbsp; &nbsp; &nbsp; &nbsp;$('body').removeClass('modal-open');&nbsp; &nbsp; &nbsp; &nbsp;$('body').css('padding-right', '');&nbsp; &nbsp; &nbsp; &nbsp;$("#exampleModalLong").hide();&nbsp; &nbsp;}},
打开App,查看更多内容
随时随地看视频慕课网APP