如何在模式框中显示ajax调用返回的数据

How to show data returned from ajax call in a modal box?

本文关键字:调用 ajax 返回 数据 显示 模式      更新时间:2023-09-26

我试图返回另一个页面的数据,但只得到一次。

结果只是第一个,我认为ajax是正确的,因为在控制台中数据是正确的。但当在模态中插入时,会发生这个错误。

PHP:

$sql = $mysqli->prepare("SELECT * FROM users ORDER by registred DESC");                      
$sql->bind_param("i", $_SESSION["userid"]);
$sql->execute();
$res = $sql->get_result();
if($res->num_rows) {
  while($row = $res->fetch_assoc()) {
    echo "
    <div id='myModal' class='modal fade' role='dialog'>
      <div class='modal-dialog'>
        <div class='modal-content'>
          <div class='modal-header'>
            <button type='button' class='close' data-dismiss='modal'>&times;</button>
            <h4 class='modal-title'> Data from user </h4>
          </div>
          <div class='modal-body' id='add_link_".base64_encode($row["id"])."'>
          </div>
          <div class='modal-footer'>
            <button type='button' class='btn btn-default' data-dismiss='modal'> Close </button>
          </div>
        </div>
      </div>
    </div>
    ";
  }
}

Javascript:

<script src="js/jquery.min.js"></script>
<script type='text/javascript'>
   function att(id){
     $.get("ajax.php?i="+id, function( data ) {
       console.log(id);
       $("#add_link_" +id).html("");
       if($("#add_link_" +id).html(data)) {
         console.log(data);
         $('#myModal').modal('show');
       }
     });
   }
</script>

您正在"显示"#myModal,它本应在页面上是唯一的,但事实并非如此。此外,您的函数没有被调用。但是,我想你是在说console.log显示了正确的数据。

基本上,将您的$('#myModal').modal('show');调用更改为:

$(this).closest('.modal').modal('show');