У меня есть файл myfunctions.php, где у меня есть много функций, например
function sendForm(){ //save form } function fn2(){ //do something } // Other functions ...
и код jquery,
$.ajax({ url: "myfunctions.php", type: "POST", contentType: "application/x-www-form-urlencoded", data: {key1: "value1", key2: "value2", key3: "value3"}, complete: function(){ //completado alert("complete"); } });
Мне нужна функция вызова в этом файле; например sendForm()
. Как я могу это сделать?
В 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 }
В AJAX
// specify which function to call url: "myfunctions.php?function=sendForm",
$.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. //... ?>