- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对 Javascript 不太熟悉,所以我希望能得到一些关于如何在 javascript 中包含 PHP 变量的建议。
我编写了一段 PHP 代码来根据服务器负载设置超链接的可变等待时间。
PHP 代码片段是:
// set wait level
if($count_user_online <= "99") {
$wait_level="0";
}
else if($count_user_online >= "100" && $count_user_online < "199") {
$wait_level="60";
}
else if($count_user_online >= "200" && $count_user_online < "299") {
$wait_level="120";
}
else if($count_user_online >= "300" && $count_user_online < "399") {
$wait_level="180";
}
else if($count_user_online >= "400" && $count_user_online < "499") {
$wait_level="240";
}
else if($count_user_online >= "500") {
$wait_level="300";
}
我试图在 Javascript 中回显 $wait_level 。我已经用下面的 HTML 方法完成了它,但显然这是不正确的。有人可以建议一种功能性方法吗?
<html>
<head>
<script type="text/javascript">
window.onload=function() {
document.getElementById('redirect').style.display = 'none';
function countdown() {
if ( typeof countdown.counter == 'undefined' ) {
countdown.counter = <?php echo $wait_level ?>; // seconds
}
if(countdown.counter >= 0) {
document.getElementById('count').innerHTML = countdown.counter--;
setTimeout(countdown, 1000);
}
else {
document.getElementById('redirect').style.display = '';
}
}
countdown();
};
</script>
</head>
<body>
<h2>You can can access the link in <span id="count"></span> seconds <a id="redirect" href="http://google.com/">Google</a></h2>
</body>
</html>
我知道我使用的 JavaScript 允许您通过查看源代码轻松查看超链接,但这不是我将使用的最终 JavaScript 代码,因此无需担心这一点。
该脚本仅在私有(private)服务器上使用 1 天,因此不需要干净,只需功能即可。
非常感谢任何帮助!
最佳答案
我将 PHP 转换为 JavaScript 的方法是使用 Ajax
Ajax 您将能够使用 HTTP Post 请求从服务器加载数据,使用 Ajax 的好处是您可以通过 HTTP 请求发送参数。例如。如果您想发送用于数据库查询的参数。然后您就可以这样做,并且可以从该数据库查询返回数据。
我并不是说在 JavaScript 中使用 PHP 是不好的做法,因为它是完全可以接受的,但它可能非常危险 - 你正在动态生成 JS 的一部分,这意味着你必须生成有效的 JS代码,否则整个代码块将被语法错误杀死。
例如
<script type="text/javascript">
var lastName = '<?php echo $lastName ?>';
</script>
并且 $lastName
恰好是 O'Neil,您现在引入了语法错误,因为生成的代码将是:
var lastName = 'O'Neil';
--- string with contents O
--- unknown/undefined variable Neil
-- string followed by variable, but no operator present.
--- start of a new unterminated string containing a ';'
因此,如果您打算继续将基于 PHP 的原始数据插入 JS 变量,则基本上必须使用 json_encode(),它保证生成的 JS 数据是语法上有效的 JS 代码
我获取PHP数据的方法
服务器端 - Test1.php
<?php
if (isset($_POST['usersOnline']))
{
$count_user_online = $_POST['usersOnline'];
switch ($count_user_online) {
case ($count_user_online <= "99"):
$wait_level = "0";
break;
case ($count_user_online >= "100" && $count_user_online < "199"):
$wait_level = "1";
break;
case ($count_user_online >= "200" && $count_user_online < "299"):
$wait_level = "2";
break;
}
echo $wait_level;
}
?>
HTML 端 - Test.php
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"> </script>
<script>
$(document).ready(function() {
sendUserCount("200");
document.getElementById('redirect').style.display = 'none';
});
function countdown(count) {
if ( typeof countdown.counter == 'undefined' ) {
countdown.counter = count; // seconds
}
if(countdown.counter >= 0) {
document.getElementById('count').innerHTML = countdown.counter--;
setTimeout(countdown, 1000);
}
else {
document.getElementById('redirect').style.display = '';
}
}
function sendUserCount(userCount)
{
var url = document.location.href;
$.post("test1.php",
{
usersOnline: userCount
})
.success(function (data)
{
console.log(data);
countdown(data);
});
}
</script>
</head>
<body>
<h2>You can can access the link in <span id="count"></span> seconds <a id="redirect" href="http://google.com/">Google</a></h2>
</body>
</html>
关于javascript - 在 Javascript 中包含定义的 PHP 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30802057/
我有一个类似于以下的结构。 class A { string title; List bItem; } class B { int pric
本地流 和 远程流 两者都是“媒体流列表 ”。 本地流 包含“本地媒体流 ” 对象 但是,远程流 包含“媒体流 ” 对象 为什么差别这么大? 当我使用“本地流 “- 这个对我有用: localVide
我正在尝试将 8 列虚拟变量转换为 8 级排名的一列。 我试图用这个公式来做到这一点: =IF(OR(A1="1");"1";IF(OR(B1="1");"2";IF(OR(C1="1");"3";I
我正在使用面向对象编程在 Python 中创建一个有点复杂的棋盘游戏的实现。 我的问题是,许多这些对象应该能够与其他对象交互,即使它们不包含在其中。 例如Game是一个对象,其中包含PointTrac
有没有办法获取与 contains 语句匹配的最深元素? 基本上,如果我有嵌套的 div,我想要最后一个元素而不是父元素: Needle $("div:contains('Needle')")
出于某种原因,我无法在 Google 上找到答案!但是使用 SQL contains 函数我怎么能告诉它从字符串的开头开始,即我正在寻找等同于的全文 喜欢 'some_term%'。 我知道我可以使用
我正在尝试创建一个正则表达式来匹配具有 3 个或更多元音的字符串。 我试过这个: [aeiou]{3,} 但它仅在元音按顺序排列时才有效。有什么建议吗? 例如: 塞缪尔 -> 有效 琼 -> 无效 S
嘿所以我遇到了这样的情况,我从数据库中拉回一个客户,并通过包含的方式包含所有案例研究 return (from c in db.Clients.Include("CaseStudies")
如果关键字是子字符串,我无法弄清楚为什么这个函数不返回结果。 const string = 'cake'; const substring = 'cak'; console.log(string.in
我正在尝试将包含特定文本字符串的任何元素更改为红色。在我的示例中,我可以将子元素变为蓝色,但是我编写“替换我”行的方式有些不正确;红色不会发生变化。我注意到“contains”方法通常写为 :cont
我想问一下我是否可以要求/包含一个语法错误的文件,如果不能,则require/include返回一个值,这样我就知道所需/包含的文件存在语法错误并且不能被要求/包含? file.php语法错误 inc
我想为所有包含youtube链接的链接添加一个rel。 这就是我正在使用的东西-但它没有用。有任何想法吗? $('a [href:contains(“youtube.com”)]')。attr('re
我正在尝试在 Elasticsearch 中查询。除搜索中出现“/”外,此功能均正常运行。查询如下所示 GET styling_rules/product_line_filters/_search {
我正在开发名为eBookRepository的ASP.NET MVC应用程序,其中包含在线图书。 电子书具有自己的标题,作者等。因此,现在我正在尝试实现搜索机制。我必须使用Elasticsearch作
我已阅读Firebase Documentation并且不明白什么是 .contains()。 以下是文档中 Firebase 数据库的示例规则: { "rules": { "rooms"
我的问题是我可以给出条件[ 'BookTitleMaster.id' => $xtitid, ] 如下所示 $bbookinfs = $this->BookStockin->BookIssue->fi
我需要能够使用 | 检查模式在他们中。例如,对于像“dtest|test”这样的字符串,像 d*|*t 这样的表达式应该返回 true。 我不是正则表达式英雄,所以我只是尝试了一些事情,例如: Reg
我想创建一个正则表达式来不匹配某些单词... 我的字符:var test = "é123rr;and;ià456;or;456543" 我的正则表达式:test.match(\((?!and)(?!o
我在 XSLT 中有一个名为 variable_name 的变量,如果相关产品具有名称为 A 或 B 或两者均为 A & 的属性,我将尝试将其设置为 1 B.
您好,我想让接待员和经理能够查看工作类型和费率并随后进行更新。但是技术人员只能查看不能更新。该图是否有效? 我读到扩展用例是由发起基本用例的参与者发起的。我应该如何区分技术人员只能启动基本案例而不能启
我是一名优秀的程序员,十分优秀!