Метод вызова Ajax из класса php
Привет,
Я хочу вызвать метод из класса через 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)
}
});
Ответы
Ответ 1
Вам нужно создать php script, который вызывает этот метод класса и может быть вызван как запрос 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)
}
});
Ответ 2
Могу ли я использовать ajax
для вызова метода класса (myMetod (2,3)) и с помощью вернуться, чтобы что-то сделать?
да, вы можете.
так как вызов метода класса требует инициализации объекта в вашем myClass.php
, вам нужно создать экземпляр класса и передать правильный ввод, а если метод класса должен вернуть некоторый вывод, просто эхо его.
например. от вашего вызова ajax, если вы хотите вызвать myMethod
, а затем в myClass.php
//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;
}