添加PHP参数代码后JQuery脚本无法加载问题求助
问题分析与解决方案
问题根源是PHP变量输出到JavaScript时的语法错误。你直接将PHP字符串变量输出到JS代码中,却没有给这些值添加引号,导致JS解析时把字符串当作未定义变量,触发语法错误,最终让整个脚本无法执行。
比如你的代码运行后,实际输出的JS代码是这样的:
var evid=31680557; var inplay=yes;
这里yes没有引号包裹,JS会将其识别为一个不存在的变量,直接抛出错误,后续的定时加载逻辑自然无法运行。
修复后的代码
给PHP输出的变量加上单引号(或双引号),确保JS能正确识别为字符串类型:
<body text="#676767" link="#0000ff" vlink="#800080" alink="#ff0000"> <?php $eventid="31680557"; $inplay="yes"; $acct="100000"; ?> <div id="loadmkts"></div> <script> var $scores = $("#loadmkts"); var evid='<?php echo $eventid; ?>'; var inplay='<?php echo $inplay; ?>'; setInterval(function () { $scores.load("/markets1.php?eventid="+evid+"&inplay="+inplay); }, 5000); </script> </body>
额外优化建议
为了避免变量中包含引号、特殊字符导致JS语法崩溃,同时防范XSS风险,建议使用htmlspecialchars转义输出的变量:
var evid='<?php echo htmlspecialchars($eventid, ENT_QUOTES); ?>'; var inplay='<?php echo htmlspecialchars($inplay, ENT_QUOTES); ?>';
内容的提问来源于stack exchange,提问作者Ayo Owoade
相关产品推荐
相关产品推荐

