为了账号安全,请及时绑定邮箱和手机立即绑定

当我使用 php 变量时,JQuery 无法加载

当我使用 php 变量时,JQuery 无法加载

月关宝盒 2023-07-06 14:37:03
我将 PHP 代码合并到 JQuery 中,如下所示:                echo "<script type='text/javascript' src='https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js'></script>                <script type='text/javascript'>                $(document).ready(function() {                    var count = ($('.data').length + 25);                    /* This is the line */var c = $c;                    $('#data').load('data.php?v=' + count + '&c=' + c)                    $('.btn-data').click(function() {                        count = count + 25;                        $('#data').load('data.php?v=' + count + '&c=' + c)                    })                })</script>";PHP 变量显示为蓝色,没有显示错误,但当我运行它时,它拒绝工作。我已经测试了其他所有内容,并且 100% 确定 PHP 是导致问题的原因。我怎样才能解决这个问题?
查看完整描述

1 回答

?
呼唤远方

TA贡献1856条经验 获得超11个赞

如果$c是你的 php 变量,你需要引用它并将其加入echo标签内。


如果它是一个integer,这应该可以...

<?php


echo "<script type='text/javascript' src='https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js'></script>

      <script type='text/javascript'>

          $(document).ready(function() {

          var count = ($('.data').length + 25);

          var c = " . $c . ";

          $('#data').load('data.php')

             $('.btn-data').click(function() {

                 count = count + 25;

                  $('#data').load('data.php?v=' + count + '&c=' + c)

             })

          });

      </script>";


如果这是一个,string这应该可以工作......


<?php


echo "<script type='text/javascript' src='https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js'></script>

      <script type='text/javascript'>

          $(document).ready(function() {

          var count = ($('.data').length + 25);

          var c = '" . $c . "';

          $('#data').load('data.php')

             $('.btn-data').click(function() {

                 count = count + 25;

                  $('#data').load('data.php?v=' + count + '&c=' + c)

             })

          });

      </script>";


如果它是一个object,您将必须解析 var 或对其进行编码。




有时,如果您想在 php 中回显或返回大块 html,可以使用输出缓冲区来捕获 html,然后您可以通过函数返回 html,或回显它。当你的 html 没有包含在 echo 引号标签内时,这只会让你的 html 更容易阅读。


<?php


// c sting php var 

$c = 'string';


// start output buffer

ob_start();


?>


<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

<script type="text/javascript">

    $(document).ready(function() {

        let count = ($('.data').length + 25);

        let c = '<?=$c?>';

        $('#data').load('data.php');

        $(this).on('click', '.btn-data', function() {

            count = count + 25;

            $('#data').load('data.php?v=' + count + '&c=' + c);

        });

    });

</script>


<?php


// store everything between ob_start() and here into a php variable

$script = ob_get_clean();


// return script html

return $script;


// or echo script html

echo $script;


// not both together obviously


?>


查看完整回答
反对 回复 2023-07-06
  • 1 回答
  • 0 关注
  • 147 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信