嗨,
我想通过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)
}
});
答案 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;
}