
当在 html 中混用 php 变量与 jquery 代码时,若 php 输出的字符串值未用单引号或双引号包裹,javascript 会将其误解析为未声明变量,引发 referenceerror,导致定时加载功能失效。
当在 html 中混用 php 变量与 jquery 代码时,若 php 输出的字符串值未用单引号或双引号包裹,javascript 会将其误解析为未声明变量,引发 referenceerror,导致定时加载功能失效。
在动态构建 AJAX 请求 URL 时,常见误区是直接将 PHP 字符串变量(如 "yes")嵌入 JavaScript,却未加引号。例如:
<?php $eventid = "31680557"; $inplay = "yes"; ?> <script> var evid = <?php echo $eventid; ?>; // ✅ 数字可不加引号(但建议统一处理) var inplay = <?php echo $inplay; ?>; // ❌ 错误!输出为 `yes`(JS 变量),非字符串 </script>
上述代码中,<?php echo $inplay; ?> 输出的是裸文本 yes,JavaScript 将其解释为一个名为 yes 的全局变量——而该变量未定义,因此抛出 ReferenceError: yes is not defined,整个脚本中断,setInterval 不会执行。
✅ 正确做法:所有 PHP 输出的字符串值必须用引号包裹(推荐单引号),确保生成合法的 JavaScript 字符串字面量:
DMap GL地图JSAPI(dmapgl)开发指南。用于编写、审查、调试 DMap 地图 API 代码,涵盖地图初始化、覆盖物渲染、图层管理、事件处理、控件交互等任务。当用户提及 dmap、dmapgl、jsapi‑gl 或相关地图开发需求时自动触发。
<?php
$eventid = "31680557";
$inplay = "yes";
$acct = "100000";
?>
<div id="loadmkts"></div>
<script>
var $scores = $("#loadmkts");
var evid = '<?php echo $eventid; ?>'; // ✅ 输出: '31680557'
var inplay = '<?php echo $inplay; ?>'; // ✅ 输出: 'yes'
setInterval(function () {
$scores.load("/markets1.php?eventid=" + evid + "&inplay=" + inplay);
}, 5000);
</script>? 进阶建议:
立即学习“PHP免费学习笔记(深入)”;
- 使用
json_encode()更安全地输出任意 PHP 值(含特殊字符、引号、换行等),避免 XSS 和语法错误:var evid = <?php echo json_encode($eventid); ?>; // 自动加引号并转义 var inplay = <?php echo json_encode($inplay); ?>;
- 确保 jQuery 在
<script></script>执行前已加载(推荐放在


















