如何使用jQuery通过ajax调用php类方法,但不需要任何php处理程序文件


How to call php class method by ajax with jQuery But No need any php handler file

如何使用jQuery通过ajax调用PHP类方法,但不需要任何PHP处理程序文件。

这是我的PHP类动物.PHP:-

<?php
class animal
{     
  function getName()
  {
    return "lion";
  }
}
?>

jQuery:-

<script type=text/javascript>
  $.ajax({
    type: "POST",
    data: {
      abc:animal;
    },
    url: "animal.php",
    dataType: "html",
    async: false,
    success: function(data) {
      alert(data);
    }
  });    
</script>

我想在jquery中使用直接调用getName()方法,在PHP Class和jquery之间不需要任何其他处理程序文件。

参数数据可以是任何东西,但在成功之后,我需要成功数据中的"狮子"。

请帮忙。

您的PHP文件不过是一个类,一个对象的定义。除非您创建该类的实例,否则它不会真正被"执行"(什么都不做,只是定义)。你无法以你想要的方式实现它,无论你试图实现什么。但这里有一个替代的例子,你的类将创建一个自己的实例,并根据你用AJAX发送的内容调用一个方法:

将方法添加到jQuery中,如:

<script type=text/javascript>
  $.ajax({
    type: "POST",
    data: {
      'animal':animal,
      'method':"getName"
    },
    url: "animal.php",
    dataType: "html",
    async: false,
    success: function(data) {
      alert(data);
    }
  });    
</script>

然后在PHP中:

class Animal
{     
  function getName()
  {
    return "lion";
  }
}
(new Animal)->{$_POST['method']}();

注意:PHP 5.4 中添加了实例化时的类成员/方法访问

参考

编辑

您的类方法返回"lion",但返回php,返回服务器端,返回NOT到客户端,因此我们必须输出类似于echovar_dump()函数的内容。。

function getName()
{
   echo "lion";
}