Javascript 如何使用jQueryAjax调用PHP函数?

Javascript 如何使用jQueryAjax调用PHP函数?,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我有一个名为myfunctions.php的文件,其中有很多函数,比如 function sendForm(){ //save form } function fn2(){ //do something } // Other functions ... 还有jquery代码 $.ajax({ url: "myfunctions.php", type: "POST", contentType: "application/x-www-form-urlencode

我有一个名为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。我该怎么做

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

在PHP中


没有其他方法吗?@omixam没有,这是最安全和最标准的方法。但是我要为50个函数做更多的操作。。。其他建议?不,我不推荐其他方法。如果您愿意放弃web应用程序的安全性和完整性,那么您可以跳过$approved_functions检查,并执行其中包含的任何$GET['function']。只需调用$_GET['function'];但是要知道,您将受到不必要的函数注入的影响,比如url:myfunctions.php?function=phpinfo,
<?php
//...
if (!isset($_POST['type'])) { /* return something */ exit; }
$type = $_POST['type'];
if ($type == 0)
{
    function1();
} else if ($type == 1) {
    function2();
} //etc.
//...
?>
<?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
}
// specify which function to call
url: "myfunctions.php?function=sendForm",