从PHP访问javascript对象


Accessing javascript object from PHP

我在一个对象中存储了一些函数,这些函数需要在PHP中通过动态按钮的onclick属性访问。通常,如果函数没有存储在对象中,这将非常简单,但不幸的是,这就是需要创建这些函数的方式:

var arrayLength = <?php echo $arrayLength; ?>;
var click = {};
for (var num=1;num<=arrayLength;num++) {
  var newClick = "click_" + num;
  click[newClick] = function() { 
    // some contents when this button is clicked 
  };
}

要用javascript调用它们,我会做如下操作:

click['click_' + someID]();

然而,由于我使用的是PHP,我不太确定如何在onclick属性中调用它。这是我真正需要做的事情,所以如果你知道解决方案或能想出变通办法,请告诉我。

第一:的函数有什么特别之处,以至于必须用JS编写它的主体并用PHP调用它?

第二:为什么不直接用PHP编写这个函数,并通过AJAX从JS传递数据呢?

第三:确保你们知道httphtmlphpjavascriptAJAX之间的区别,并理解它们是什么,而不仅仅是一些让网页工作的令人惊叹的东西。然后你自己就会知道答案了。

您的对象可以从PHP到JS,但不能反过来。为了缓解这个问题,可以使用json_encode($object)并将其传递给要处理的javascript。从那里,您可以访问PHP的属性和值。