【问题标题】:php code in jquery [duplicate]jquery中的php代码[重复]
【发布时间】:2009-06-22 09:02:06
【问题描述】:

可能重复:
How do I use PHP variables as values for the <script> tag when rendering jQuery code in my CakePHP view?

在CakePHP中,在url中作为参数传递的值可以通过controller属性获取

            <?php $userid= $this->params['pass'][0];?>  

我想在 jQuery 代码中使用 $userid。

 $("#displayPanel #saveForm").live("click", function(){

          document.location = 'http://localhost/cake_1_2/forms/homepage';

 });//Click on SaveForm 

假设如果 userid 是 12,我需要 document.location 是 'http://localhost/cake_1_2/forms/homepage/12'。

如何在jQuery中使用php变量?

【问题讨论】:

    标签: php jquery cakephp


    【解决方案1】:

    为了可读性,如何:

    <?php $userid= $this->params['pass'][0];?>
    var userId = '<?=$userid?>';
    $("#displayPanel #saveForm").live("click", function(){
        document.location = 'http://localhost/cake_1_2/forms/homepage/' + userId;
    });
    

    【讨论】:

    • 在哪里添加代码 params['pass'][0];?>?
    • 查看我的编辑。你只需要在使用它之前包含某个地方
    【解决方案2】:

    您需要将变量输出到 JavaScript 源代码中:

    $("#displayPanel #saveForm").live("click", function(){
              document.location = 'http://localhost/cake_1_2/forms/homepage/<?=$userid?>';
    });//Click on SaveForm
    

    注意&lt;?=$userid?&gt;。如果您的服务器上关闭了速记,请使用&lt;?php echo $userid; ?&gt;

    【讨论】:

    • 在哪里添加代码 params['pass'][0];?>?
    • 您可以在 PHP 脚本的前面某处添加该代码。请注意,我假设上面的 JavaScript 已经存在于 PHP 脚本中,因为 PHP 是在服务器上执行的,因此您必须在 PHP 脚本中修改 JavaScript。
    • 它实际上是一个 .ctp 文件,我只是用 jQuery 和 html 代码编写的函数用于演示。 jquery中有什么方法可以获取url中传递的值吗?
    【解决方案3】:

    除了上述建议的方法外,您还可以:

    1. 使用内置的 CakePHP Javascript 帮助器将 PHP 和 JS 部分更好地结合在一起(更好的代码分离并且不会混淆代码语言)。看看这里:http://book.cakephp.org/view/207/Javascript

    2. 使用您传递的值在 HTML 中创建一个隐藏的输入字段,供 jQuery 读取。可能看起来有些过于复杂,但在 jQuery 也应该能够修改值或用于提交表单等的情况下会很方便。

    3. 让 CakePHP 控制器负责读取和使用用户 ID 而不是 JS。取决于您的具体用例,但不是将参数传递给新页面,而是简单地从您调用的控制器中获取值作为第一件事(如果用户 ID 并不总是相同或无法预测,则不可能)被动)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-07
      • 2011-12-22
      • 2011-12-28
      • 1970-01-01
      • 1970-01-01
      • 2017-09-13
      • 2011-12-05
      • 1970-01-01
      相关资源
      最近更新 更多