AJAX работает с классом php - PullRequest
0 голосов
/ 11 апреля 2011

Я начинаю изучать классы в php, и мне было интересно, как я смогу вызвать функцию, которая находится внутри класса, но используя ее в поле URL для ajax.

По сути, у меня есть:

$(document).ready(function(){
    $('#submit').click(function(e) {
        $.ajax({
            type : 'POST',
            url : 'addCustomer.php',
            dataType : 'json',
            data:{
                lastName : $('#add_LN').val(),
                firstName : $('#add_FN').val(),
                phone : $('#add_PN').val(),
                dob : $('#add_DOB').val()
            },

Что мой addCustomer.php делает, это создает экземпляр моего класса customer_module и затем вызывает функции в customer_module.

Но я бы хотел избавиться от addCustomer.phpвсе вместе, и просто вызовите функцию в customer_module.php.Это имя функции будет addCustomer ($ last_name, $ first_name, $ phone, $ dob).

customer_module.php

    class customer_module
    {

        public function addCustomer($last_name, $first_name, $phone, $dob)
        {
...
        }

     }

Как мне изменить свою функцию ajax, чтобы она выглядела?

Ответы [ 2 ]

1 голос
/ 11 апреля 2011

Вы не можете сделать это, вам всегда нужна обертка вокруг него. Существуют PHP фреймворки, такие как Kohana (производная от CodeIgniter), которые выполняют сопоставление URL-адресов с функциями и классами, но это очень сложно, и в вашем случае было бы лучше продолжать использовать решение addCustomer.php.

0 голосов
/ 11 апреля 2011

Непосредственно и поэтому я не знаю, как напрямую вызвать члена класса из AJAX. Там всегда должна быть какая-то обертка. Тем не менее, довольно легко написать оболочку, чтобы она принимала имя функции для вызова в качестве параметра, что позволяет вам вызывать несколько функций, используя только одну функцию-оболочку. Если вы сделаете это, я настоятельно рекомендую вам разрешить ему доступ только к определенному списку функций (для предотвращения определенных типов кибератак).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...