类php的Ajax调用方法

时间:2012-05-20 07:16:51

标签: php ajax class methods

嗨,

我想通过ajax从类中调用一个方法。   这个课是这样的:

class MyClass{
      public function myMethod($someParameter,$someParameter2){
          //do something
          return $something;
      }
      private function myMethod2($someParameter3){
          //do something
          return something;
      }

}

我可以使用ajax来调用类方法(myMetod(2,3))并返回做某事吗?    我能这样用吗?

$.ajax({
        url : 'myClass.php',
        data : {
                    someData: '2,3',
               }
        type : 'POST' ,
        success : function(output){
                  alert(output)
        }
});

2 个答案:

答案 0 :(得分:7)

您需要创建调用此类方法的php脚本,并可以作为ajax请求调用。创建一个类似的文件:

例如:

<强> myfile.php

<?php

   $date = $_POST; // print_r( $_POST ); to check the data

   $obj = new MyClass();

   $obj->myMethod( $_POST['field1'], $_POST['field2'] );
   $obj->myMethod2( $_POST['field1'] );

?>

将您的jQuery代码更改为:

$.ajax({
        url  : 'path/to/myfile.php',
        data : { someData: '2,3' },
        type : 'POST' ,
        success : function( output ) {
                    alert(output)
                  }
});

答案 1 :(得分:3)

  

我可以使用ajax来调用类方法(myMetod(2,3))并使用   回去做点什么?

是的,你可以。

因为调用类方法需要在myClass.php中初始化对象,所以需要实例化类并传递正确的输入,如果类方法要返回一些输出,则只需回显它。

例如,

。如果您想在myMethod

中拨打myClass.php,请拨打您的ajax电话
//Check for ajax request to instantiate the class.
if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
   $object = new MyClass();
   //hold the return value in a variable to send output back to ajax request or just echo this method.
   $result = $object->myMethod($_POST['value'], $_POST['value2']);
   echo $result;
}