【问题标题】:issue of my php function inside my jquery code我的 jquery 代码中我的 php 函数的问题
【发布时间】:2013-04-01 20:53:14
【问题描述】:

我想在 jquery 函数 .html() 中执行一个 php 函数。 php函数接受2个整数作为参数。

此代码有效

$(function() {
    var myVar = 1;
    $('#myDiv').html('<? echo my_function('+myVar+','+1+'); ?>');   
});

而这个没有:

$(function() {
    var myVar = 1;
    $('#myDiv').html('<? echo my_function('+myVar+','+myVar+'); ?>');   
});

我没有 php 错误,但什么也没发生

【问题讨论】:

  • 我非常怀疑第一个代码是否有效。 JavaScript 在客户端执行,PHP 在服务器上执行。服务器无法在 PHP 中使用 myVar 值。
  • 什么错误信息?另见so-hints
  • @GeraldSchneider 第一个确实有效,我向你保证。所以你的意思是我应该使用 AJAX 对吗?
  • @silentboy 没有错误信息,什么都没有
  • @GradislavaBikkulova 如果您发布您的my_function() 代码,可能会说得更多。

标签: php jquery function integer


【解决方案1】:

写一个file.php

<?php
my_function(myvar,1);
?>

在html页面中使用

$('#mydiv').load('file.php');

【讨论】:

    【解决方案2】:

    你的方法不对, 你不能用这个方法, var myvar;是一个 javascript 变量,只能在您的浏览器中使用。但是 my_function() 在 Web 服务器中执行;您可以在 javascript 中放置一个 php 变量,但不能在 php 函数中使用 javascript 变量作为参数。将 myvar 设置为 php变量,如果可能,然后将其放入您的函数中。或者您可以使用 ajax 将 javascript 变量传递给 php 函数。

    把你的函数放到一个php文件中,然后

         $('#mydiv').load('file.php?myvar='+myvar);
    

    可以,可以在$_GET['myvar']中获取值

    【讨论】:

      【解决方案3】:

      我刚试过。所以,发生的事情是这样的:PHP 解析器只关心 &lt;? ?&gt;tags 中的内容,而不关心其他内容。所以它看到了:

      echo my_function('+myVar+','+1+');
      

      该函数使用两个参数调用,均为字符串:+myVar++1+。您可以通过将其放入您的函数中来检查:

      function my_function() {
          $argv = func_get_args();
          var_dump($argv);
      }
      

      它会输出这个:

      array(2) {
        [0]=>
        string(7) "+myVar+"
        [1]=>
        string(3) "+1+"
      }
      

      在提供 PHP 生成的文件后,客户端会看到:

      $(function() {
          var myVar = 1;
          $('#myDiv').html('The output of your my_function()');   
      });
      

      您的 JavaScript 变量现在不再使用。

      如果您想打印具有已知 ID 的内容,您可以在 PHP 中定义变量或使用 $_GET$_POST 变量在 PHP 中进行设置。

      如果您想使用动态值,则需要对另一个文件进行 AJAX 调用(您必须按照我上面的建议进行操作)。

      像你一样混合 PHP 和 JavaScript 是不可能的。

      【讨论】:

        猜你喜欢
        • 2020-08-05
        • 2012-03-31
        • 2021-04-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-07
        • 2017-01-27
        相关资源
        最近更新 更多