Использование JQuery Ajax для вызова функции php

Прежде всего, спасибо за проверку моей проблемы и за любую помощь, которую вы можете дать!

Хорошо, так как название говорит, что мне нужно вызвать функцию php с моей индексной страницы, которая добавляет новую запись в мою базу данных в качестве голосования, используя JQuery Ajax. Эта функция вернет одно целое число, которое затем будет напечатано внутри кнопки формы, в которой он был вызван.

У кого-нибудь есть идея, как я это сделаю? Любое руководство ценится!

Edit: So if I'm using a template object I can just call the function using ajax and it will return the output? What would I use as the URL? index.php? Such as... function DoVote() { $.ajax({ type:'POST', url: 'index.php', success: function(data) { $('#voteText').html(data); } }); 

И атрибут action action размещен, я предполагаю?

Да, создайте отдельный PHP-файл, который вызывает эту функцию и выводит результат. Затем загрузите этот файл php с помощью запроса AJAX.

Поскольку PHP – это серверный язык, а jQuery (JavaScript) – это клиентская сторона, вы не можете напрямую вызвать функцию PHP с ней, вы можете просто загрузить файл. Однако, если файл имеет что-то вроде <?php echo($object->function()); ?> <?php echo($object->function()); ?> вы можете загрузить файл, по сути вызывающий функцию.

Я не уверен, что (ваше дополнение) является правильным.

В произвольном файле у вас есть функция PHP:

 <?php // Called "otherfile.php" // Function you're trying to call function doSomething($obj) { $ret = $obj + 5; return($ret); } ?> 

И у вас есть файл (назовите его ajaxcall.php), который вы будете загружать с помощью этого вызова AJAX.

 <?php include("otherfile.php"); // Make the file available, be aware that if that file // outputs anything (ie not wrapped in a function) it // may be executed // Grab the POST data from the AJAX request $obj = $_POST['obj']; echo($doSomething()); ?> в <?php include("otherfile.php"); // Make the file available, be aware that if that file // outputs anything (ie not wrapped in a function) it // may be executed // Grab the POST data from the AJAX request $obj = $_POST['obj']; echo($doSomething()); ?> 

Запрос ajax просто заставляет некоторый URL-адрес получать доступ, в котором находится php. И любыми дополнительными параметрами (даже GET) вы можете либо изменить вызываемую функцию, либо передать ее самой функции.