2015-12-09 4 views
0

Я хотел бы вызвать функцию php из jQuery и вернуть значение. Ранее я делал это с помощью ajax-вызова для получения php-файла, но как я могу вызвать определенную функцию php в php-файле? Я уже сделал это, как ...Вызов функции PHP в другом файле.

$.ajax({ 
      type: "GET", 
      url: "getBookedAppointmentDetails.php", 
      data: dataString, 
      success: function (response){ 
       appHover.attr('title', response); 
      } 
     }); 
+0

Просто включите файл и используйте функцию. (?) –

ответ

1

Вы не можете непосредственно вызвать функцию PHP на веб-сервере из клиентского сценария.

Однако вы можете реализовать логику в скрипте php, который анализирует/проверяет входящий запрос, а затем вызывает определенную функцию. Это предполагает, что вы контролируете конец php.

В основном REST api - это то, к чему вы должны стремиться.

0

Вам нужно создать некоторую условную логику getBookedAppointmentDetails.php, if, switch, etc.., например:

<?php 
if($_GET['data']===1){ 
    first_function(); 
} elseif($_GET['data']===5) { 
    other_function(); 
} else { 
    (new my_class())->my_public_function(); 
} 
exit(); //The page is done.. 

Или это:

$_GET['data']===1 ? first_function() : $_GET['data']===5 ? other_function() : (new my_class())->my_public_function(); 
exit(); 
0

Использование Ajax вызов является стандартным, но есть способ вызова метода PHP внутри файл php.

<script type="text/javascript"> 
    function js_fun() 
    { 
     var x="<?php php_fun(); ?>"; 
     alert(x); 
    } 
</script> 

<?php 
    function php_fun() 
    { 
     require_once('target_file_with_proper_location.php'); 

     $value_from_far_away = somewhere_deep_inside_target_file(); 
     $value_from_far_away; 
    } 
?>