如何在AJAX Call中获取php类方法?

时间:2014-08-28 14:01:54

标签: php jquery ajax

我正在使用Phonegap创建移动应用。因为该项目是基于服务器的,所以我使用JQuery和AJAX连接到位于服务器上的php文件。现在我遇到了以下问题:

我通过

对php文件login.php进行AJAX调用
$.post('http://example.com/php/login.php',
{       

}).success(
    function(data){

            console.log(data);

}).error(
    function(data){
        //return error
        console.log("Error post ajax " );           
},'json');  

在login.php中我想使用类方法,其中类是用另一个php文件class.php编写的。 所以login.php看起来像这样

<?php

   require_once('http://example.com/php/class.php');

   $test = $class->test();

   echo json_encode($test);

?>

和class.php看起来像这样:

<?php
class CLASS {

        public function test(){
            echo "test";
        }   
}

$class = new CLASS;
?>

但是我不能在类CLASS中使用方法test()。如果我在login.php文件中写入CLASS,当然它可以工作,但这不是我想要的。

有没有人为我解决这个问题?

2 个答案:

答案 0 :(得分:2)

您应该按惯例在login.php中实例化该类。

此:

$test = $class->test();

应该是这样的:

$test = new CLASS();
$test->test();

我想你说这不是你想要的,所以这可能会解决你的问题:

您没有正确声明$ class变量:

此:

$class = new CLASS;

应该是这样的:

$class = new CLASS();

答案 1 :(得分:2)

您需要学习一些基础知识,例如本教程http://tut.php-quake.net/de/,并直接了解一些内容。你做的很多事情是完全错误的

require_once('http://example.com/php/class.php'); 如果没有这样,请在服务器上包含原始路径,而不是URL

require_once('/path/to/your/file/class.php'); 更像这样。

$test = $class->test();

当您的功能看起来像

时,这也不起作用
    public function test(){
        echo "test";
    }

这个,你的函数必须返回值

    public function test(){
        return "test";
    }

实现你所尝试的......考虑直接获得一些基础知识将是我的第一个建议,请记住我只是想帮助你,因为如果你没有得到那些基础知识并且知道你正在使用的语言;)