gpt4 book ai didi

javascript - Ajax & PHP - 如何在数据插入弹出新页面后立即触发 window.open

转载 作者:行者123 更新时间:2023-12-03 00:11:34 25 4
gpt4 key购买 nike

我的问题是每次都会不停地弹出新窗口或页面 - 就像一个循环。

我的页面所做的是,当我插入数据时,它会自动发送到页面,并且运行良好,我有 ajax 代码,可以自动发送数据而无需刷新。现在当我添加这个 window.open页面自动加载新页面。

我的预期输出是什么,当我插入数据时,新页面将加载或弹出。这是我的页面、代码和 JavaScript 代码

content.php这是我获取发送到数据库的数据的地方

<div id=getdata></div>

脚本

<script type="text/javascript">
function dis()
{
xmlhttp=new XMLHttpRequest();
xmlhttp.open("GET", "select.php",false);
xmlhttp.send(null);
document.getElementById("getdata").innerHTML=xmlhttp.responseText;
window.open("http://localhost/ppa/movies.php", "", "width=1500px,height=1000px");


}

dis();

setInterval(function(){
dis();
},2000);
</script>

select.php这就是xmlhttp.open的地方获取网址。这就是我设法获取数据的地方,以便将其提取到 content.php

<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

$link = mysqli_connect("localhost","root","423");
mysqli_select_db($link, "wasapp");

$res = mysqli_query($link,"select * from announcement");

while ($row = mysqli_fetch_array($res)) {
?>




<div class="overlay">
<br><br><br><br><br>
<div class="container">
<div class="row">
<div class="text-center col-md-12">
<div class="jumbotron" style="background-color: rgba(42, 44, 45, 0.9); color: #71777f">
<h3><?php echo $row['additional_info']; ?></h3>
</div>
</div>
</div>
</div>


</div>

<?php } ?>

announcement.php

这是我插入数据的地方,以便将其发送到数据库..

    $stmt1 = $pdo->prepare("insert announcement set additional_info=:addInfo");

这段代码没有什么特别的,更多的是查询和插入

最佳答案

您可以创建一个全局变量,在其中分配数据库记录数。在每次 ajax 调用中,您应该从 php 文件中获取总记录数。您可以交叉检查这些变量。如果全局变量和ajax响应变量相同,那么你不应该弹出该窗口,否则你应该弹出该窗口。看一下下面的代码:

<script>
var recordCount = 0;
function dis()
{
var responseRecordCount = 0;
xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
responseRecordCount = this.responseText.sqlRecordCount; // sqlRecordCount is dummy variable. You should pass count of database records here
};
xmlhttp.open("GET", "select.php",false);
xmlhttp.send(null);
if (recordCount != responseRecordCount) {
document.getElementById("getdata").innerHTML=xmlhttp.responseText;
window.open("http://localhost/ppa/movies.php", "", "width=1500px,height=1000px");
}
}

dis();

setInterval(function(){
dis();
},2000);
</script>

希望它能帮助您使用这种方法来改进您的代码。

关于javascript - Ajax & PHP - 如何在数据插入弹出新页面后立即触发 window.open,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54703212/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com