gvd
gvd

Reputation: 1602

How to call PHP function using jQuery ajax?

I have a file called myfunctions.php where I have a lot of functions, like

function sendForm(){
    //save form
}
function fn2(){
 //do something
}
 // Other functions ...

and the jquery code,

$.ajax({
    url: "myfunctions.php",
    type: "POST",
    contentType: "application/x-www-form-urlencoded",
    data: {key1: "value1", key2: "value2", key3: "value3"},
    complete: function(){
        //completado
        alert("complete");
    }
});

I need call specific function in this file; for example sendForm(). How can I do that?

Upvotes: 2

Views: 340

Answers (2)

MonkeyZeus
MonkeyZeus

Reputation: 20747

In PHP

<?php
// create a list of approved function calls
$approved_functions = array('sendForm','fn2');

// check the $_GET['function'] and see if it matches an approved function
if(in_array($_GET['function'], $approved_functions))
{
    // call the approved function
    $_GET['function']();
}

function sendForm(){
    //save form
}
function fn2(){
 //do something
}

In AJAX

// specify which function to call
url: "myfunctions.php?function=sendForm",

Upvotes: 3

Shahar
Shahar

Reputation: 1677

$.ajax({
    //...
    data: {key1: "value1", key2: "value2", key3: "value3", type:0},
    //...
});

myfunctions.php:

<?php
//...
if (!isset($_POST['type'])) { /* return something */ exit; }
$type = $_POST['type'];
if ($type == 0)
{
    function1();
} else if ($type == 1) {
    function2();
} //etc.
//...
?>

Upvotes: 1

Related Questions