不能使用 jQuery.load() 内容中的 PHP 值


Can't use PHP value from jQuery.load() content

我正在开发一个使用 jQuery 模态的项目,这些模态在单击按钮时动态加载其内容。

我像往常一样使用此加载的内容时遇到问题。

这是我的问题的一个例子

<script type="text/javascript>
    click function{
        load modal{
            open: $('#modalID').load('phpfile.php?id=<?php echo $id ?>');
    }
</script>

这一切都工作正常,但是当尝试在"phpfile.php"中使用jQuery时,问题就出在哪里了。

<?php
$id = $_GET['id'];
$db = USE ID TO GET DATABASE INFO; //works fine here
?>
//ECHO SOME HTML HERE
<script type="text/javascript">
    $('#buttonID').on('click', function(){
        alert('test <?php echo $id ?>');
    });
</script>

当我单击该按钮时,我收到警报,但它只是说测试,我没有像我应该的那样获得 ID。

提前感谢您对此的帮助和建议!

您已经粘贴了伪代码,因此很难说出代码中出了什么问题。

以下应该有效,试一试:

文件 1.

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<?
$id = "10";
?>
<script>
    $(document).ready(
    function(){
    $('#modalID').load('phpfile.php?id=<?php echo $id ?>');
    });
</script>
<div id = 'modalID'></div>

和 phpfile.php:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<?php
$id = $_GET['id'];
?>
<script>
    $('#buttonID').on('click', function(){
        alert('test <?php echo $id ?>');
    });
</script>
<input type="button" id = "buttonID" value="click me">

请检查浏览器控制台中是否有任何错误。上面的代码应该可以工作。这种可能性就像你没有得到 $_GET['id'] 或任何脚本错误都会阻止你的代码执行。

我创建了一个示例 php 文件,该文件工作正常。

 <?php
  $id = rand();
 ?>
<button id="buttonID"> Click </button>
//ECHO SOME HTML HERE
<script type="text/javascript">
  $('#buttonID').on('click', function(){
    alert('test <?php echo $id ?>');
  });
</script>