AJAX请求和PHP类函数

raj*_*esh 19 php ajax

如何从ajax调用中调用PHP类函数

animal.php 文件

class animal
{     
  function getName()
  {
    return "lion";
  }
}
Run Code Online (Sandbox Code Playgroud)

然后在我的ajax.php文件中我有一个ajax请求,需要从getName函数获取值

如何做这个getName()功能我可以这样做吗?

<script type=text/javascript>
  $.ajax({
    type: "POST",
    data: {
      invoiceno:jobid
    },
    url: "animal/getName",
    beforeSend: function() {
    },
    dataType: "html",
    async: false,
    success: function(data) {
      result=data;
    }
  });    
</script>
Run Code Online (Sandbox Code Playgroud)

Tom*_*ado 39

我的答案与超现实梦的答案相同,但是代码.

第一.类动物还可以.保持这样:

animal.php

<?php

class animal
{     
  function getName()
  {
    return "lion";
  }
}
Run Code Online (Sandbox Code Playgroud)

下一个.创建一个新animalHandler.php文件.

<?php
require_once 'animal.php';

if(isset( $_POST['invoiceno'] )) {
     $myAnimal = new animal();
     $result = $myAnimal->getName();
     echo $result;
}
Run Code Online (Sandbox Code Playgroud)

最后.更改您的Javascript.

<script type=text/javascript>
  $.ajax({
    type: "POST",
    data: {
      invoiceno:jobid
    },
    url: "animalHandler.php",
    dataType: "html",
    async: false,
    success: function(data) {
      result=data;
    }
  });    
</script>
Run Code Online (Sandbox Code Playgroud)

那是.

  • 创建一个适用于多种情况的函数,并使用一些参数来访问要检索的函数. (5认同)
  • 谢谢你们,但我的问题是,如果我必须使用50个ajax请求,我必须使用50个PHP文件输出这些结果.我怀疑的是,我是否可以将所有这些函数用于一个名为ajax的类中,那么它对我来说会很棒.但我一直在codeigniter框架中使用相同的.如果我可以在普通的PHP中做同样的类,那将是伟大的.只是我想知道在PHP中是否可能. (3认同)
  • 您可以使用一个`ajax.php`文件来处理所有的ajax调用,但要注意:它会很大且不可维护. (2认同)

Sur*_*ams 8

你需要一个额外的脚本,因为你的动物类本身不能做任何事情.

首先,在另一个脚本文件中,包含animal.php.然后制作一个动物类的对象 - 让我们称它为myAnimal.然后调用myAnimal-> getName()并回显结果.这将为您的Ajax脚本提供响应.

使用此新脚本作为Ajax请求的目标,而不是使用animal.php.