Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用jQuery通过ajax调用php类方法,但不需要任何php处理程序文件_Javascript_Php_Jquery_Ajax - Fatal编程技术网

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

Javascript 如何使用jQuery通过ajax调用php类方法,但不需要任何php处理程序文件,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,如何使用jQuery通过ajax调用PHP类方法,但不需要任何PHP处理程序文件 这是我的PHP类animal.PHP:- <?php class animal { function getName() { return "lion"; } } ?> <script type=text/javascript> $.ajax({ type: "POST", data: { abc:animal; },

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

这是我的PHP类animal.PHP:-

<?php

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

jQuery:-

<?php

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

$.ajax({
类型:“POST”,
数据:{
abc:动物;
},
url:“animal.php”,
数据类型:“html”,
async:false,
成功:功能(数据){
警报(数据);
}
});    
我想在jquery中直接调用getName()方法,而不需要PHP类和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>
注意:PHP5.4中添加了实例化时的类成员/方法访问

编辑

您的类方法返回“lion”,但返回到php,返回到服务器端,不返回到客户端,因此我们必须输出类似于
echo
var\u dump()
函数的内容

function getName()
{
   echo "lion";
}

您的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>
注意:PHP5.4中添加了实例化时的类成员/方法访问

编辑

您的类方法返回“lion”,但返回到php,返回到服务器端,不返回到客户端,因此我们必须输出类似于
echo
var\u dump()
函数的内容

function getName()
{
   echo "lion";
}

如果没有对象
animal
的新实例,就无法真正做到这一点。需要某种类型的“处理程序”。您需要中间件来执行php classI,我很确定您不能。在访问PHP方法时,您认为它会访问哪个URL?我只能通过创建一个检查来想出一个解决方案,该检查将发送POST或GET参数,从而执行特定的方法。我们是否可以在jQuery和call方法中创建实例。@AbidHussain jQuery是Javascript,它是客户端,在访问者的计算机上执行。PHP是服务器端的,它在您的服务器上执行。jQuery不知道服务器上有脚本,它只知道它的环境。PHP不知道jQuery/Javascript,甚至不知道用户。这就是为什么您需要一个处理程序php脚本,它将处理请求,并在此基础上创建类的实例,调用所需的方法并回显结果。如果没有对象的新实例
animal
,您就无法真正做到这一点。需要某种类型的“处理程序”。您需要中间件来执行php classI,我很确定您不能。在访问PHP方法时,您认为它会访问哪个URL?我只能通过创建一个检查来想出一个解决方案,该检查将发送POST或GET参数,从而执行特定的方法。我们是否可以在jQuery和call方法中创建实例。@AbidHussain jQuery是Javascript,它是客户端,在访问者的计算机上执行。PHP是服务器端的,它在您的服务器上执行。jQuery不知道服务器上有脚本,它只知道它的环境。PHP不知道jQuery/Javascript,甚至不知道用户。这就是为什么您需要一个处理程序php脚本,它将处理请求,并在此基础上创建类的实例,调用所需的方法并回显结果。