Метод вызова 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)
}
});
2 ответов
вам нужно создать 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)
}
});
могу ли я использовать
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;
}