Javascript 如何使用jQueryAjax调用PHP函数?
我有一个名为myfunctions.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
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",