gpt4 book ai didi

javascript - 在 JavaScript 中加载 PHP

转载 作者:行者123 更新时间:2023-12-02 18:10:21 24 4
gpt4 key购买 nike

我有一些 PHP 代码,其中显示了您注册的时间,并给出了大约多久前的时间。我一直在考虑尝试用 javascript 刷新它,但我很难找到我想要的东西,而且由于我对它的了解并不好,所以我现在有点坚持让它工作。

基本上,这是我目前拥有的代码,其功能是显示自唱歌以来的时间

Date registered:  <?PHP echo date('jS F Y', $_SESSION['User_Date'])." at ".date('G:i:s', $_SESSION['User_Date']);
echo " (".time_delta('now',date('F j Y G:i:s', $_SESSION['User_Date'])).")"; ?>

它将输出如下内容:
注册日期:2013 年 11 月 4 日 0:57:31(大约 34 分钟前)

我已经有了这个 JavaScript 代码,但我不知道如何让它只更新文本而不重定向页面。

 <script>
setInterval(function() {
window.location.href = "timeupdate.php";
}, 1000);
</script>

是否有一种简单的方法可以做到这一点,或者在CPU使用方面是否值得避免它?

最佳答案

正如评论所暗示的,AJAX 是您的答案。

jQuery an ajax call看起来像这样:

$(document).ready(function() {
setInterval(function(){
$.ajax({
url: "timeupdate.php",
type: "GET",
dataType: "html",
success: function(html) {
$("#date_registered_element").html(html);
}
});//end ajax call
},1000);//end setInterval
});//end docReady

这将从 timeupdate.php 返回的文本输出到 id 为“date_registered_element”的 div -> 将其更改为您希望向其输出更新文本的 div 的名称。

为了将 session 变量传递给 Ajax 函数,您需要让服务器在脚本运行之前(即呈现页面时)回显 session 变量,如下所示:HTML:

<div id="user_date" style="display: none;">
<?php echo $_SESSION["User_Date"]; ?>
</div>

请注意:您需要对此非常小心。任何在浏览器查看源代码或开发人员工具中查看您的标记的人都将能够看到回显的 SESSION 变量。仅当数据不存在安全风险时才应执行此操作。在我看来,最好在 Ajax 调用中不传递 GET 变量,而只在 timeupdate.php 脚本中引用 SESSION 变量。 SESSION 变量的要点是为 HTTP 提供类似状态的功能,因此您永远不需要通过 HTTP 请求发送 SESSION 变量。

也就是说,如果您希望按照当前设置的方式进行操作,则代码如下。

将 SESSION 变量回显到页面后,您就可以使用 jQuery 从 id 收集值并将其传递给 Ajax 函数:

Javascript/jQuery:

var url = "timeupdate.php?time=" + $("#user_date").text();

//pass the url to the Ajax function in the ajax function like this:
$.ajax({
url: url,
//the rest of your ajax function here
});

如果您将 jQuery 添加到页面 <head></head> 之前标记您现有的脚本,这应该可以工作:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">

关于javascript - 在 JavaScript 中加载 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19760422/

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