jQuery显示输出但立即消失

时间:2019-04-10 23:40:00

标签: javascript jquery

我正在创建一个PHP应用程序,必须将JavaScript变量发送到同一页面,然后在PHP中使用它。但是,当我运行代码时,输​​出显示并正确,但是消失并且消失了。

$.ajax({
    type: 'POST',
    url: 'ajax.php',
    data:  { id: 1},
    success: function(result) {
        $('body').html(result);
        console.log(result);
    },
    error: function() {
        alert('Some error happened. Please try again!');
    }
});

我通过PHP post变量访问了posted变量,并且输出正确,但是我无法使其停留在屏幕上。我的ajax.php的innerHTML是否被覆盖?

控制台也显示正确的输出!

2 个答案:

答案 0 :(得分:0)

您正在调用身体属性,请尝试更改此行:

$('body').html(result);

收件人;

$("#myResult").html(result);

您现在可以通过将响应添加到HTML代码中来打印响应:

<div id="myResult"></div>

如果您想通过班级进行选择,则:

$(".myResult").html(result);

在这里,ID选择器#被类选择器.取代,因此您的div将变为:

<div class="myResult"></div>

现在尝试:

$.ajax({
    type: 'POST',
    url: 'ajax.php',
    data:  {id: 1},
    success: function(result) {
        // $('body').html(result);
        // $(".myResult").html(result);

         $("#myResult").html(result);
        console.log(result);
    },
    error: function() {
        alert('Some error found. Please try again!');
    }
});

在HTML端输入以下内容:

 <div class="myResult"></div>

如果仍然无法使用,请发布您的PHP代码,我会帮助您修复它。

答案 1 :(得分:0)

您是否正在使用html <body>元素做其他事情?如果我是你,我会在身体中创建一个新元素,然后将结果放在那里。

$.ajax({
  type: 'POST',
  url: 'ajax.php',
  data:  { id: 1},
  success: function(result) {
    $('#results').html(result);
    console.log(result);
  },
  error: function() {
    alert('Some error found. Please try again!');
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<html>
  <head>
    <title>Title</title>
  </head>
  <body>
    <div id="results"></div>
  </body>
</html>